Just a thought here but if Serial.print("This string that gets allocated every time this is called") and basically is a memory leak shouldn't samples be updated to use Serial.print(F(....)) so the unwashed masses (like me) don't make stupid mistakes?
In the meantime I have updated my most accessible node and will see if this solves my issues.