実行時に読み込んだアセンブリをアンロードする。

実行時の任意のアセンブリを動的に読み込むことは出来ますが、アンロードする場合はアプリケーションドメインごとアンロードする必要があります。Win32Apiでは、LoadLibraryとFreeLibraryによって該当DLLだけをロード・アンロードできましたが.Net ではアプリケーションドメインレベルでしかアンロードできません。

つまり、アセンブリをアンロードする必要がある場合は、デフォルトのアプリケーションドメインで実行時にロードしてはいけないということになります。(デフォルトのアプリケーションドメインをアンロードするとアプリが終了してしまうため)そのため、AppDomain.CreateDomainでアプリケーションドメインを作成し、アンロードされる可能性があるアセンブリをロードするという処理になります。