public class TestClass : IDisposable { private SapAcqDevice m_device; public TestClass() { } private void Dispose(bool disposing) { if (disposing) { m_device.Destroy(); m_device?.Dispose(); } } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ~TestClass() { Dispose(false); } }