Think about it. When 1024 bytes is allocated at runtime it means 844+1024 bytes (91%) of dynamic memory.
91% is too risky. But if you got an "allocation failed" message it probably means that something else is allocating at runtime.
The cure is to reduce your SRAM usage by changing any print() and println() statements e.g.
print("anonymous literal string");
with
print(F("anonymous literal string"));
and checking the new value of Global variables use xxx bytes.
David.