Ответ 1
Это зависит от использования памяти и кучи, в которой хранятся объекты. Посмотрите на это
http://javarevisited.blogspot.com/2011/04/garbage-collection-in-java.html
Это не зависит от времени. Это зависит только от новых требований к памяти и доступной памяти.