Как правильно внеднять зависимости в контроллер symfony3?
Достаточно посмотреть реализацию класса Controller и все станет очевидно. Ссылка на экземпляр контейнера попадает в контроллер через метод setContainer, которым пользуется DI. Поэтому вы вполне оправданно получаете ошибку.
Отвечая на ваш вопрос: не внедряйте зависимости в контроллер. Дергайте их в action по мере необходимости, а лучше - выкидывайте всю бизнес логику в менеджеры, репозитории, провайдеры, билдеры, etc и используйте action только для рендеринга ответа.
Я пользуюсь JMSDiExtraBundle. Восхитительная штуковина.