Это действительно меняется очень широко. SpiderMonkey, например, будет собирать GC на основе различных эвристик о том, сколько памяти было выделено, но встраивание в браузер также запускает GC в различных ситуациях, например, после обработки достаточного количества событий DOM, после того, как скрипт выполняется достаточно долго, некоторые вещи могут делать с закрытыми или загруженными вкладками / окнами и т. д., и т. д. И эвристика сильно изменилась между различными версиями Firefox и снова изменится.
И это только для одного браузера.