String variabe array too large

I have a variable declared as a String array

String SubSelectorArray[10][6] = {{"3.500 MHz","7 MHz", "14 Mhz", "21 MHz", "28 MHz",""},

The String is passed to a function

int RotarySelector(String strOption) 
{

When the array was size [10][6] the function did not receive the variable and flagged it as empty string which I do check for. For test purpose I reduced the array to [5][6] and have no issues passing the string to the function.
Obviously I pushed the Uno something ( memory?) , using over 50% of dynamic memory, over some limit.

Two questions - what or how can I check for whatever I am exceeding to prevent chasing stuff like this using String?
And what exactly this note means - is it String or char?

[/quote]

For reference, character arrays are referred to as strings with a small s, and instances of the String class are referred to as Strings with a capital S. Note that constant strings, specified in "double quotes" are treated as char arrays, not instances of the String class.

Thanks for your time, appreciate any constructive help.
Vaclav

Dont use Strings, use char pointer arrays.

char * data[5] = {
  "Hello ", "this ", "is ", "a ", "test."};

void setup()
{
  Serial.begin(9600);
  for(int i =0; i < 5; i++)
    Serial.print(data[i]);
}

void loop() { }

Thanks,
I have no problem doing that.
I feel " wrappers" are OK but should not be build this sloppy way. Not the first strange encounter.
Cheers
Vaclav

The Arduino has issues with Strings, so we try to steer people away from using them, and get them into the habit of using char arrays instead.

The static allocation of RAM for the protected variables for a 10x6 array of Strings is over 400 bytes before you even assign any data to them.
If all you're doing is having a bunch of labels that you'll only ever need to change by recompilation, flash (PROGMEM) is a much more sensible option.