3) at program end, live objects are not scheduled for finalization; 4) at program end, pending finalizations from previous collections may not be run.
I didn't know these two, can I get source on them?
Also, I'm assuming what I said about calling destroy(instance) is as correct as calling a cleanup method?