Добавьте для Service пяток параметров в конструктор, а потом пару таких сервисов, а потом еще этому сервису свой сервис в конструктор, и мысли сразу в верное русло придут
это плохое обоснование, я бы его перефразировал если new не создает сайд эффектов, то его можно обьявить прямо в конструкторе, например ArrayCollection
опять же нужно смотреть на связность кода, что это за new в конструкторе, вообще я стараюсь никогда не использовать new в конструкторах да и где бы то ни было, если это не "стабы"
не совсем корректный пример, тк вы привели пример из работы ORM, которая работает через рефлексию (считай черную магию) и ее устройство закрыто от клиенсткого кода