umm! you do delete unused objects, sounds bitmaps etc before ending the program?, bones don`t interest me one Iota since I can`t model for toffee anyway, never tried em, I thought they where part of the DBO format or something, but don`t quote me on that (theres a download about the format on the developer network.
as for critical problems, code round em, I hardly consider bones critical anyway, like I say I never used em, if thats all you can find to gripe about then I hope you never start to take a deep interest in the workings of the OS you are currently using

, your typing fingers would wear out sending enraged E-Mails to Microsoft

, you shouldn`t get memory consumption AFAIK, it doesn`t happen to me and I am a old school "code/run/alter/run/alter/run/alter/run......" coder, I write maybe ten lines and test the result (several times) then ten more and test again etc, never noticed any problems with memory getting eaten here.
I would suggest you disable the system keys and then impliment a neat exit, delete everything you loaded/made and undim all arrays before you finaly exit, I am not sure why you get a problem with that though, doesn`t happen to me.
Mentor.
PC1: P4 3ghz, 1gig mem, 3x160gig hd`s, Radeon 9800pro w cooler (3rd gfx card), 6 way speakers.
PC2: AMD 2ghz, 512mb ram, FX5200 ultra, 16 bit SB.
Mini ATX cases suck.