Ich verstehe, dass das Unload einige Probleme machen kann. Aber gibt es Ansätze um diese Probleme schonend/sicher zu lösen (Doktorarbeiten, ...) damit ein Unload() möglich wird?
Ich finde es persönlich ein ziemliches problem mit .NET, wenn nicht wirklich lebenswichtig aber wäre schöner um neue Versionen von Plugin Dlls quasi "on-the-fly" zu laden und entladen ohne Gleich ein ganzes AppDomain runterzufahren...
Aktuell - und wohl auch in Zukunft - führt über den "Umweg" AppDomain kein Weg vorbei (diese kann entladen, hast du ja auch angemerkt). Um ein sperren der Assemblies zu verhindern können die Assemblies der AppDomain per Shadow Copy geladen werden.