Никаких утечек самого require не будет. Но беда в Вашем подходе следующего характера. require синхронный. Вы используете синхронный метод в асинхронной функции - это, в принципе плохо. Все вызовы require необходимо поместить в начало модуля, чтобы они были вызваны при загрузке модуля. Почитайте про хорошие практики по node.js в том числе и на Хабре. Вывод простой - синхронный код - зло.