Memory management is not an easy thing, that’s a fact. Some languages such as Java or C# have managed (”managed”, got it?) to put this question miles away from the programmer’s worries. But Objective-C still uses a rather complex set of mechanisms to handle the memory life cycle of objects (reference counting, auto-release pools, ownership conventions…).
Infoscape requires not only an intensive use of dynamic memory mechanisms but also a multi-threaded processing model. Memory management in Obj-C is complex enough by itself alone, but adding threads into the mix makes it extremely difficult to efficiently manage resources without wasting the power of the language itself.
Version 1.3 is on its way and it will offer dramatic improvements in this area. Sorry for these tenths of megabytes wasted so far.