public override void Execute() { ExecutionContext.CheckThreadPoolAndContextsAreDefault(); base.Execute(); WaitCallback callback = _callback; _callback = null; callback(_state); // ThreadPoolWorkQueue.Dispatch will handle notifications and reset EC and SyncCtx back to default }