Make sure the debugger doesn't evaluate the SafeHandleBase.IsInvalid property (to prevent side effects)
Safe and clearly documented global cleanup in SafeHandleBase
Update code for execution in a contrained execution region