public override void Dispose() { try { if (_device != null && _device.IsConnected) { _device.Disconnect(); _subInstance = null; GC.Collect(); } } catch (COMException ex) { Debug.LogError(ex.ToString()); } }