Ok, just went line by line and converted any usage of the String class to char arrays.
The System.freeMemory() is now hanging at 43984 bytes most of the time, although I see it briefly dip to 42720 bytes. I’m thinking that this 1264 byte difference is caused by background tasks the Particle firmware is running during tasks such Particle.process(). I noticed in this thread another user was seeing this 1264 byte difference as well.
I didn’t see this reported issue explicitly fixed in the firmware updates for 0.4.9 or otherwise. Is the 1264 byte allocation just a section of memory that the firmware stack is utilizing to update things like particle variables, particle functions, maintaining cloud connection, etc? If so, is the memory utilization freed up in the heap/stack or will there possibly be heap fragmentation introduced by this?