Что касается вашей первой проблемы, то через какой промежуток времени вы наблюдали медленный рост. Когда использование памяти в Java-процессе неактивно, вы обычно видите развитие пилообразного паттерна. Вы видели, что какие-либо GC происходят в одном и том же отрезке времени? Если нет, то это еще одно доказательство, подтверждающее эту идею.
Для второй проблемы действительно трудно сказать наверняка без дополнительной информации. Как правило, можно ожидать, что поведение приложения будет отличаться при включении профилирования, поскольку меняются окна синхронизации, приложение должно тратить время на отчеты о данных и , выполняя свою обычную работу, и т. Д. Возможно, при включении профилирования больше выделений памяти происходит, потому что ваш код теперь оснащен инструментами, и это вызывает GC, который снижает использование кучи. Попробуйте выполнить System.gc () в своем приложении, когда профилирование отключено, и сообщите нам, что сообщает ваша куча.