Hello Amit,
We had similar issues in the past where the messages were going into dead letter queue because of monitoring enqueue and dequeue metrics.
Try:
a) set the monitoring level for queues for all instances as minimum in the properties file.
<mq_instance>.monitor.queue = minimum
b) set the 'exclude dynamic queues filtering' property to true
<mq_instance>.queue.filter.exclude.dynamic = true
Then restart the MQMonitor and check if the messages are still going into dead letter queue.
If the problem persists, gather DEBUG logginng and open a support case
I hope this helps,
Regards,
Sergio