Just for kicks, I added some extra tallying functionality to ScummVM, and I get 12K used in heap resources at the title screen.
So, back-of-the-hand calculations follow:
12K for heap resources + 13K for static interpreter data + 8K in stack + little dribs and drabs for various lists, audio, and so on.
Let's say this adds up to 35K of memory use. Then we get 29K free heap, quite similar to the number you get experimentally.