Выгрузка исторических данных во внешнее приложение

Здравствуйте.
Мы с Тамарой работаем вместе над текущей задачей, так что я не буду создавать новый топик и продолжу обсуждение проблемы здесь.
Я написал тестовую прогу на C# для получения списка каналов из wb-mqtt-db согласно вашей документации ссылка. И она не выдаёт результат. Каждый шаг, как то соединение, подписка на очередь с ответом и публикация запроса проходят нормально, ошибок нет, статусы я проверяю, но результат в reply очередь не посылается. Прога просто висит минуту и закрывается. В логах wb-mqtt-db на самом контроллере вообще ничего, никаких признаков того, что кто-то пытался пообщаться с wb-mqtt-db. Что я делаю не так?

using MQTTnet.Client;
using MQTTnet;
using MQTTnet.Protocol;

string broker = "192.168.0.1";
int port = 1883;
string clientId = Guid.NewGuid().ToString();
string getChannelsRequestTopic = $"/rpc/v1/db_logger/history/get-channels/{clientId}";
string getChannelsResponseTopic = getChannelsRequestTopic + "/reply";

// Create a MQTT client factory
var factory = new MqttFactory();

// Create a MQTT client instance
using var mqttClient = factory.CreateMqttClient();

// Create MQTT client options
var options = new MqttClientOptionsBuilder()
    .WithTcpServer(broker, port) // MQTT broker address and port
    .WithClientId(clientId)
    .WithCleanSession()
    .Build();

var result = await mqttClient.ConnectAsync(options);
if(result.ResultCode != MqttClientConnectResultCode.Success)
{
    Console.WriteLine("Unable to connect to queue");
    return 1;
}

var subResult = await mqttClient.SubscribeAsync(getChannelsResponseTopic).ConfigureAwait(false);
if(subResult.Items.First().ResultCode != MqttClientSubscribeResultCode.GrantedQoS0)
{
    Console.WriteLine("Unable to subscribe");

    return 3;
}

mqttClient.ApplicationMessageReceivedAsync += e =>
{
    Console.WriteLine("received");

    return Task.CompletedTask;
};

var payload = "{\"id\": \"2730b391-d1ac-4041-888a-1cb05940c03d\", \"params\": { } }"; 
var message = new MqttApplicationMessageBuilder()
                    .WithTopic(getChannelsRequestTopic)
                    .WithPayload(payload)
                    .WithQualityOfServiceLevel(MqttQualityOfServiceLevel.ExactlyOnce)
                    .Build();

var publishResult = await mqttClient.PublishAsync(message).ConfigureAwait(false);
if(publishResult.IsSuccess == false)
{
    Console.WriteLine("Unable to send message");

    return 2;
}

await Task.Delay(TimeSpan.FromMinutes(1)).ConfigureAwait(false);

await mqttClient.UnsubscribeAsync(getChannelsResponseTopic).ConfigureAwait(false);
await mqttClient.DisconnectAsync().ConfigureAwait(false);

return 0;