private void Dispose(bool disposing) { if (IsDisposed) { return; } _viewModel?.Dispose(); _renderTarget?.Dispose(); _renderTargetD3D9?.Dispose(); _instanceCount--; if (_instanceCount <= 0) { _graphicsDeviceService?.Dispose(); } IsDisposed = true; }