Думайте о нестатическом внутреннем классе как о чем-то похожем на:
public class Main {
static class Test extends Main {
private final Main _outer;
...
}
}
Где ссылка _outer
установлена во время строительства. На уровне GC экземпляры внешнего и внутреннего классов вообще не различаются.