Memory usage in .Net is very difficult to evaluate - it will depend on many factors, such as the start of garbage collection, how much the framework is loaded, etc.
You can see the memory usage at the level of each process using performance counters.
Assuming that you have already considered the security implications for running user code in a semi-reliable environment, you need to use AppDomain to load the DLL - this way you can unload it without restarting the entire website / work pool
Basic
source share