What's up with throwing this error?It's completely unrecoverable when the called through the GC finalization process, the GC mutex doesn't unlock and all you get is a deadlock.
Why not just let it fail with an access violation of some sort? At least you get a clean stack trace from a debugger of choice, and you're not stuck figuring out which completely random operation occurred.
