private static void WorkerThreadComplete(object state) { Debug.Assert(state is LazyAsyncResult); LazyAsyncResult thisPtr = (LazyAsyncResult)state; try { thisPtr._asyncCallback(thisPtr); } finally { thisPtr.Cleanup(); } }