Это всегда было поведение, так как иначе компилятор будет строить ваш проект, если он не имеет ссылки на все зависимости?
Сборки, на которые ссылается ваш проект, необходимы для работы вашего приложения. Вы используете типы из этих сборок, и без этих типов ваше приложение не сможет создать. Что еще важнее, без этих типов ваше приложение не может работать.
Теперь рассмотрим, что каждая сборка, на которую вы ссылаетесь, была построена так же, как ваша сборка, и требует, чтобы все ее ссылочные сборки присутствовали и учитывались. Это создает цепную реакцию, которая может раздражать, но конечный результат заключается в том, что после выполнения приложения CLR имеет все сборки, необходимые для запуска приложения.