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