You are right that the function of the DLL is that several processes using this DLL can share certain sections to reduce memory usage (this is a Windows function and does not apply to .Net), but Iโm pretty sure that these two processes work you must load the same physical DLL onto disk, in which case this will not happen for the scenario you are describing.
If instead you install it in a normal place (for example, GAC), then Windows will be able to share certain parts of the DLL for several processes to save memory. For .net builds, you also need an NGen build to take advantage of this .
Please note that the amount of stored memory is not size_of_dll , since some parts of this DLL image cannot be shared, namely any section of this DLL that can be modified. These sections are still duplicated in several processes to ensure that applications do not accidentally modify each other's data.
source share