The question you are asking is very broad and answer is subjective to the app and causes of issue.
This topic has been discussed multiple times in the forum.
Please check in the old forum topics for suggestions.
But to start with I could suggest the following
Both of the above tools help you with heap dumps analysis.
It's actually a great move to optimize memory usage before scaling up hardware that too in complex systems where inefficiencies can quietly consume resources. In your case — with a Java-based environment running near its 1 GB memory limit. So, the first and foremost step is basically to identify the parts of the system that are holding any unnecessary memory. To do this you can use several free available tools like HeapHero, VisualVM or Eclipse Memory Analyzer (MAT) and so and so....
Now, coming to your question on Mendix -what i will say is in general the memory usage trends depend on your app’s design, module upgrades, and runtime behavior. Some newer Mendix versions have improved memory management, but it’s common for memory consumption to increase if applications grow in complexity without optimization. It’s worth reviewing release notes and community feedback specific to your version.
Your next steps could be:
Optimizing memory is an iterative process, but these tools can give you a clear, data-driven place to start. For a helpful guide on detecting subtle memory leaks and unnecessary object retention during your analysis, check out this blog: Beyond OutOfMemoryError: Using a Memory Analyzer for Subtle Memory Leaks