Ты же понимаешь, что detectChanges - это единственный способ вызвать изменения только в рамках одной ветки (а не всего приложения) ? Если ты его никогда не используешь, значит ты постоянно перерендериваешь все приложение даже тогда, когда в этом нет смысла (любые другие события триггерят appRef.tick()
)