I do not know if in complex programs like IDEs: IntelliJ, eclipse, netbeans among others occupy it at some point to more efficiently release system resources manually (speaking clearly of their source code of those IDEs and not at the moment of program on them)
For example, when destroying an object giving it a null value, followed by invoking the System.gc () method would be a good practice?