new CancellationTokenRegistration().Dispose() shouldn't throw