The class responsible for creating a workflow entry point
 private void Dispose(bool disposing)
 {
     if (disposing)
     {
         _owner      = null;
         _instance   = null;
         _workspace  = null;
         _result     = null;
         _waitHandle = null;
     }
 }
            public WorkflowApplicationRun(WorkflowApplicationFactory owner, ManualResetEventSlim waitHandle, IDSFDataObject dataTransferObject, WorkflowApplication instance, IWorkspace workspace, IList <object> executionExtensions, Guid parentWorkflowInstanceId, bool isDebug, ErrorResultTO errors, IExecutionToken executionToken)
            {
                _owner                    = owner;
                _waitHandle               = waitHandle;
                _result                   = dataTransferObject;
                _instance                 = instance;
                _workspace                = workspace;
                _executionExtensions      = executionExtensions;
                _isDebug                  = isDebug;
                _parentWorkflowInstanceID = parentWorkflowInstanceId;
                _executionToken           = executionToken;

                _instance.PersistableIdle      = OnPersistableIdle;
                _instance.Unloaded             = OnUnloaded;
                _instance.Completed            = OnCompleted;
                _instance.Aborted              = OnAborted;
                _instance.OnUnhandledException = OnUnhandledException;

                AllErrors = errors;
            }
 private void Dispose(bool disposing)
 {
     if(disposing)
     {
         _owner = null;
         _instance = null;
         _workspace = null;
         _result = null;
         _waitHandle = null;
     }
 }
            public WorkflowApplicationRun(WorkflowApplicationFactory owner, ManualResetEventSlim waitHandle, IDSFDataObject dataTransferObject, WorkflowApplication instance, IWorkspace workspace, IList<object> executionExtensions, Guid parentWorkflowInstanceId, bool isDebug, ErrorResultTO errors, IExecutionToken executionToken)
            {
                _owner = owner;
                _waitHandle = waitHandle;
                _result = dataTransferObject;
                _instance = instance;
                _workspace = workspace;
                _executionExtensions = executionExtensions;
                _isDebug = isDebug;
                _parentWorkflowInstanceID = parentWorkflowInstanceId;
                _executionToken = executionToken;

                _instance.PersistableIdle = OnPersistableIdle;
                _instance.Unloaded = OnUnloaded;
                _instance.Completed = OnCompleted;
                _instance.Aborted = OnAborted;
                _instance.OnUnhandledException = OnUnhandledException;

                AllErrors = errors;
            }