Ah sim, claro. Você quis dizer que o JInternalFrame são janelas lightweight. Já que janelas são, tipicamente, os únicos componentes heavyweight do Swing.
Aí faz todo sentido. 
Na verdade, foi o que pensei poucos segundos após postar para vc a resposta.
[quote=ViniGodoy]Ah sim, claro. Você quis dizer que o JInternalFrame são janelas lightweight. Já que janelas são, tipicamente, os únicos componentes heavyweight do Swing.
Aí faz todo sentido. 
Na verdade, foi o que pensei poucos segundos após postar para vc a resposta.[/quote]
É, exatamente.
E eu estava fazendo uns testes com o profiler do NetBeans sobre esse assunto de janelas e etc… Mas não cheguei a uma conclusão ainda.
Sobre o esquema de variáveis não usadas que eu falei, é isso que eu li há algum tempo atrás:
The HotSpot compiler is smart enough not to generate code for dead variables.
public static void method(int arg) {
int value = arg + 25;
}
In the method above, the local variable is never used, so there’s no reason to compute its value. So then the method body is empty again and when the code gets compiled (and inlined, because we removed enough code to make it small enough for inlining) it turns into an empty method again.
fonte: http://www.oracle.com/technetwork/java/hotspotfaq-138619.html