For most cases this will result in no pointer change at all and a simple adjustment of the allocated length - usually out into free space in most use-cases on a small system like this.
So is there anything in the external programming that can be done to free the no longer used allocated memory space?
Perhaps enable the WDT, let if time out, and have the sketch start all over?
Andy Brown, I think you will find that Nick knows more about the code than you credit. And he isn't given to make unfounded claims.