Let's make sure we don't have anything stupid/overlooked.
Probable issue that will be triggered: types which have Handle/etc. properties should inherit from MarshalByRefObject to ensure that they're not "copied" across AppDomains, which could result in a "double delete".