Компилятор уже достаточно умен, чтобы перечислять только те сборки, на которые есть ссылки, в конечном исполняемом файле, которые фактически используются.Нет необходимости возиться с ссылками на сборки или с использованием директив.
JIT-компилятор будет всегда генерировать код только для методов, которые фактически вызываются.Таким образом, у вас не будет никакого машинного кода или накладных расходов времени компиляции из-за кода, который никогда не используется.
CLR указывает на ваш исполняемый образ ссылку на файл, отображенный в памяти.ОЗУ будет использоваться только в том случае, если в CLR используется фактическое содержимое библиотеки DLL.Это зависит от того, как IL методов, которые вы используете, распространяется через изображение.Есть разумные шансы, что, поскольку JIT-компилятор никогда не ссылается на IL, данные изображения также не будут выгружаться в ОЗУ.Другими словами, вы потеряете некоторое пространство виртуальной памяти, но не будете использовать соответствующий объем оперативной памяти.
Если ваша DLL имеет строгое имя и хранится в ненадежном месте, то время горячей загрузки будетнемного длиннее из-за большего размера файла.