I think Dave may have been on track there. I’m reading his page:
and it has this blurb:
printf or similar function expected to do IO (as opposed to string operation) allocates an IO control structure of 428 bytes.
I see this 428 byte allocation happen for my snprintf call, and only a portion of it is returned when the task is killed. When I did the test with reentrancy turned off, I don’t see this allocation for each instance of the task.