public void TryDispose()
 {
     if (_callbackWrapper.TrySetInvoked())
     {
         _registration.Dispose();
     }
 }
 public void TryDispose()
 {
     // This normally waits until the callback is finished invoked but we don't care
     if (_callbackWrapper.TrySetInvoked())
     {
         // Bug #1549, .NET 4.0 has a bug where this throws if the CTS
         _registration.Dispose();
     }
 }