Одна из проблем программной части возникает из-за процедуры "очистки мусора".
Работающая программа, любая, даже браузер, отображающий страничку сайта, откусывает себе часть памяти и других ресурсов системы. Некоторые из этих ресурсов нужны длительное время, большинство же короткое или вообще используются один раз. Но нет, система не в состоянии освобождать эти ресурсы, когда они уже не нужны.
В системе есть множество процедур очистки мусора. Каждая из процедур реализуется случайно-системно, когда система простаивает, например. Это в идеале.
Практически же чистильщик мусора зачастую даже не знает, какие ресурсы уже свободны. Часть ресурсов оказываются в слепой зоне и для чистильщика, и для системы.
К слову, специальные команды очистки мусора, которые прямо написаны в коде, "принимаются во внимание", но не реализуются в тот же момент. Очистить - обозначает вывести из слепой для чистильщика зоны ресурсов.