public virtual void Dispose() { if (!IsDisposed) { // Set the flag to true IsDisposed = true; // Eject the module MemorySharp.Modules.Eject(this); // Avoid the finalizer GC.SuppressFinalize(this); } }