private void ExecuteJob(IJobExecutioner job) { if (job == null) { return; } m_logger.Info("Starting job execution for {0}", job.Name); TotalJobsExecuted++; ThreadPool.QueueUserWorkItem(o => { job.Execute(); job.Dispose(); this.RemoveJob(job); }); }