Подозреваю, что после совпадения любого шаблона все последующие шаблоны проверять и дёргать не надо. Не знаю, что у вас там в ROOT.'/components/routes.php', но вполне вероятно, что запрос попадает сразу под несколько шаблонов и для каждого совпадения создаётся и дёргается отдельный экземпляр контроллера.