Мой оригинальный комментарий превратился в постоянное решение:
переместил код, загружающий сборку, в консольный exe-файл и скопировал exe-файл в фиксированное местоположение (установлено из конфигурации addin), и я вызываю AppDomain.ExecuteAssembly в этом фиксированном месте, а затем выгружаю этот AppDomain ... ( и этот appdomain использует shadowcopy просто для безопасности:))