Program corruption? Inconsistent and odd failures mid-program

I moved all my strings to RAM using "GLCD.printFlash(flashStr("string"));" as per the suggestion of the GLCD library author, and while it freed up a few hundred bytes, it didn't change the problem. The program is still consuming large amounts of RAM every time there is a print action, and never freeing it up later. I'm clueless as to what the problem could be at this point.