Many times Out of SRAM conditions are caused by string constants used for Serial output. You can avoid having those constants take up SRAM space by using the F() macro:
Seeial.print(F("This string constant stays in FLASH memory rather than being copied to SRAM."));