There is stuff I try very hard not to free explicitly. Inter-thread comms object pools, for example. I want the OS to free these 'cos it'll always stop all my threads, (those that might still writing to the objects), first before freeing process memory.
If I don't do this, I get all those problems of trying to terminate threads that are stuck on blocking calls or running loops. Can't be bothered with all that hassle :)
Rgds,
Martin