protected override void Dispose(bool managed) { if (managed) { _participant.delete_datareader(ref _reader); _participant.delete_datawriter(ref _writer); _participant.delete_topic(ref _receiver); _participant.delete_topic(ref _sender); } base.Dispose(managed); }