protected virtual void Dispose(bool disponeManagedResources) { if (!_disposed) { if (disponeManagedResources) { // Clean up managed resources MainModule.Dispose(); } _disposed = true; } // Clean up native resources if (ProcessHandle != IntPtr.Zero) { NativeMethods.CloseHandle(ProcessHandle); } }