you should if (_source != null) { do everything } so that your Dispose() can safely be called multiple times