always go for the difficult solution Paul Graham would say. :)
debugging is always twice as difficult as writing ... so if you go for the difficult solution, you might not be able to debug if any more ;-)
it's a problem that needs to be tackled at the root: malloc
real time memory allocation is pretty damn difficult to do.. hence real time GC is something most people avoid.
all the other things are workarounds for special cases. some might work now, but will probably bite back later.
hm ... i'll try to find a few books on memory management and garbage collection at the library tomorrow ...
cheers ... t