I seem to be suffering memory creep thus my program and data is crashing into each other.
(Note: string literals take up room in the Flash (program) memory AND the RAM. When the program starts, the strings are copied from Flash to RAM.)
Third, if you have a lot of strings that you absolutely need, or large arrays of data that do not change, then use the PROGMEM directive. This is a way of telling the Arduino to put data into Flash (program) memory only, without copying it into RAM. This technique is useful if you have a lot of data that does not change, and still have Flash (program) memory available.
I seem to be suffering memory creep