As per our configuration, we have WAS version is 8.5.5.1, IBM MQ version 7.5.0.3. We are using 2 channels to connect to WMQ, one with MAXINST set to 250 and one with 500. SHAREC
We had a similar problem where the connection count used to reach its limit once the application was kept active for hours.
Our catch was to call disconnect() of the queue manager post enqueue or dequeue rather than close(). So make sure your finally block looks something like this.
finally
{
queue.close();
qMgr.disconnect(); //rather than qMgr.close();
}