Внутренний класс не должен быть статическим.Фактически, одно из их наиболее распространенных проявлений - анонимные внутренние классы - никогда статические.
Фраза "статический класс" не приводит к созданию класса во время выполнения - классы создаются «загрузчиком» только один раз, когда они загружаются.Вы хотели сказать, что экземпляр внутреннего класса будет создаваться каждый раз, когда создается экземпляр внешнего класса.И это тоже false в целом (см. Ответ Тило).
Не беспокойтесь - я неправильно понял внутренние классы точно так же, как вы, когда впервые узнал о них!
Нестатический внутренний класс будет иметь неявную (т.е. она там автоматически, вы не объявляете это) ссылку на экземпляр внешнего класса, который его создал.Это будет препятствовать тому, чтобы экземпляр внешнего класса был GCed, пока существует экземпляр внутреннего класса, точно так же как нормальная ссылка Java.
Статический внутренний класс не будет иметь такую ссылку, потому что это несозданный внешним экземпляром, но загрузчиком классов.