Hi @udaysinghrawat … I don’t want to go looking through your heap dump, but I have a feeling that it could be because your consuming application is receiving messages off Solace (via a queue or something), and then failing to process them fast enough, or not removing all references to them.
I’ve had similar heap/crash issues with Java where I had one thread (the Solace API context thread) pulling messages off Solace and pushing into a LinkedBlockingQueue Java data structure. And then my own application threads (ExecutorService) pulling the messages off that LBQ and processing. Without some smarter logic (e.g. starting/stopping the Solace flow of messages, bounded LBQ, etc.) Java would just happily completely fill my heap with an unbounded LBQ.
Please provide more details on what your app is doing… what are the message rates, is it processing them, republishing them? Obviously the more detail you give us, the easier it is to help you.