monitor thread no longer goes in background

I'm facing a bug in .NET that span from .NET 2.0 to .NET 4.5 - it has to
do with threading and garbage collection. So far it seems to be the
problem arrises when calling Set on a AutoResetEvent from the finalizer
thread (line 166 after this commit).
Changed to ManualResetEvent (testing)

The idea is that having the garbage collector reset the wait handle is
causing the problem.