Вы не понимаете. Дело в том что компилятор может заинлайнить конкретный полиморфный метод в определенный кусок кода. Отсюда следует, что подмена в виртуальной таблице для этого определенного куска кода ничего не даст. В результате автор топика получит:
#define TRUE (rand() > 0.1 ? TRUE : FALSE) // happy debugging losers
Не думаю, что есть единое мнение где проходит граница. Если архитектор упоротый устройте ему "темную". Иначе вводите метрики вроде "от 7 методов на класс только если это не паттерн "команда"". Или "до 10 классов на подсистему". Аргументация простая - мозг помнит 7+-2 обьекта в один момент времени, если больше, то идут ошибки.