Нет фундаментальных проблем с использованием большого количества памяти. Если размер виртуальной машины слишком велик, и вы создаете много объектов, которые необходимо собирать, вы должны будете чаще выполнять сборку мусора, что чаще означает сборку мусора. Полный GC на очень большой виртуальной машине может вызвать «зависание» до нескольких секунд. Для некоторых приложений это может быть реальной проблемой. В других, возможно, нет.
Вы хотите отслеживать размер виртуальной машины с течением времени, и любой профилировщик сделает это. VisualVM поставляется с Java 6u14 (iirc) или выше, и он это сделает. Если вы наблюдаете за своим приложением с течением времени, вы увидите, что объем памяти увеличивается, а затем внезапно падает, поскольку временные объекты собирают мусор, образуя «пильный» шаблон.
Теперь со временем это может увеличиться (то есть общий наклон увеличится). Это может указывать или не указывать на проблему. Это может указывать на утечку памяти. Это может означать, что вы держите ссылки на объекты, которые вам просто не нужны, чтобы они не были GCed. Или это не может быть проблемой вообще. Это зависит от того, что делает ваше приложение. Например, если с течением времени вы кешируете все больший и больший объем данных в памяти, это может вовсе не быть утечкой, но это может указывать на архитектурную проблему, заключающуюся в том, что вы не очищаете кеши.
1,5 ГБ, однако, это не много памяти, поэтому наличие виртуальной машины такого размера само по себе не является причиной того, что вам приходится перезапускать ее каждый день. Похоже, у вас есть еще одна проблема, и наиболее вероятные виновники - липкие ссылки.