I'm doing it like Grey Alie. Everything that smells like an object will be manually destroyed by xyz=null (and if possible a xyz.Clear() before that). I also clear arrays with pointers with ar=ar[..0]. So far the only issues I got were caused by homemade erros and could be easily fixed once known ;)
The only thing I leave unattended are local objects inside methods/functions.
The only thing I leave unattended are local objects inside methods/functions.