protected void Dispose(bool bDisposing) { if(!m_bDisposed) { // Dispose in thie block, only managed resources if(bDisposing) { } // Free only un-managed resources here } m_bDisposed = true; }