Просмотр вашего кода:
mqQMgr = New MQQueueManager(...)
Это создает объект MQQueueManager, но также подключается к администратору очередей назначения в качестве клиентского подключения - это будут подключения, о которых администратор сети говорит
mqQueue = mqQMgr.AccessQueue(queueName, MQC.MQOO_OUTPUT, ...)
Это открывает очередь в администраторе очередей назначения для вывода
responseQueue = mqQMgr.AccessQueue(mq_get_array(0), MQC.MQOO_INPUT_SHARED, ...)
Это открывает очередь в администраторе очереди назначения для ввода.
На данный момент у вас есть 2очереди и одно соединение открываются в администраторе очередей назначения.Если вы просто загляните в другой код, то вы держите ресурсы на сервере.Насколько я понимаю, когда объекты выходят из области видимости, они будут уничтожены, но я могу ошибаться в этом языке (из практики!).
Чтобы явно освободить ресурсы, вам нужно просто закрытьСоединение qmgr (как и любые очереди, которые оно содержит, будет освобождено) с соответствующей проверкой ошибок:
mqQMgr.Disconnect()
Если вы действительно хотите явно очистить очереди, а затем менеджер очередей, вы можете сделать следующее перед отключением(с соответствующей проверкой ошибок):
mqQueue.Close()
responseQueue.Close()