/// <inheritdoc />
        public async ValueTask DisposeAsync()
        {
            if (_isDisposed)
            {
                throw new ObjectDisposedException(nameof(BrokerClient));
            }

            _isDisposed = true;

            await _subscriptionStore.DisposeAsync();

            _taskManager.Dispose();
        }