Это поведение не имеет ничего общего с отложенной загрузкой.
Когда компонент больше не используется в DOM, Angular запускает процесс очистки. Для этого он выполняет метод "ngOnDestroy" компонента (если есть). После того, как компоненту удастся выполнить очистку (или сохранить данные), он будет уничтожен.
Поэтому, когда этот же компонент снова добавляется в DOM, его новый экземпляр и "ngOnInit" выполняются. снова.
Вы можете попробовать это с простым "* ngIf". Поскольку ngIf удалит и добавит компонент из DOM в зависимости от оператора if.
Если вы используете «hide», то компонент не будет показан, но все равно будет частью DOM, поэтому экземпляр остается прежним.
В вашем случае компонент помещается и удаляется маршрутизатором ...