El truco que comenta [radenf], tal y como
explica Ian Martins aquí es "obligar" al sistema a liberar la memoria que tu programa tiene en ese estado "marcada para liberar" que he comentado antes.
El problema es que hay quien piensa que eso puede no ser todo lo beneficioso que a priori parece. Es decir, de alguna forma le estamos diciendo al sistema (obligándole) que queremos que liberar la memoria de nuestro proceso, cuando el sistema tiene su propio sistema de liberación. En cierta manera estamos interfiriendo en el correcto(normal) funcionamiento de este proceso.
¿Y si el sistema piensa que es mejor liberar la memoria de otro proceso, en lugar del nuestro?
¿Y si el sistema puede coger memoria de otro lugar sin necesidad de liberarla ahora (de nuestro proceso o de ningún otro)?
¿Y si el sistema piensa que ahora no es el momento de liberar?
¿...?
Lo que quiero decir es que no va a pasar nada por hacerlo, pero a lo mejor en algunos casos lanzar este proceso cada X tiempo, puede empeorar el rendimiento en lugar de mejorarlo (
link -si buscas encontarás otros similares-).