static void ExecuteSub(object state) { var executionState = (ExecutionState)state; Thread.Sleep(prng.Next() % 1000); logger.TraceEvent(TraceEventType.Information, 1, "ExecuteSub: info {0}", executionState.taskId); var subInstance = new SubModule.SubClass(); subInstance.method(executionState.taskId); }