Смысл DTO - обеспечить простую передачу данных между двумя процессами, чтобы уменьшить количество вызовов методов.
Следовательно, вы ожидаете увидеть небольшое количество DTO, иногда даже один DTO, в любом интерфейсе. Обычно они были бы очень крупнозернистыми.
Я бы заподозрил, что DTO с большим количеством отношений вообще не были DTO. И что они слишком близко соответствуют вашим доменным объектам.
Можете ли вы опубликовать несколько примеров?