When you suspect there is a memory leak, start with small memo footprint, watch GC behavior, this will give you an idea whether memo increasement is caused by transient( possibly big chuncks, or two frequent allocation requests) or non-transient( a true memory leak). If you had identified a memory leak, then use profiling tools.
Increase Xmax will only alleviate your problem in dev time, but can cause fatal disaster in prodution. So don't do it. On the contrary, in debugging, you would reduce the Xmax to accelarate the syndrome for small apps.