Eu acredito que isso está agindo como projetado com o funcionamento do .Net. A mesma coisa acontece no IIS, se você fizer o upload de uma DLL e, em seguida, parar, iniciar ou reiniciar o site, ele não será recompilado e estará ficando sem cache, pois é tudo compilado na memória no primeiro lançamento. Ele não faz referência a esses arquivos DLL novamente até que uma nova compilação seja feita. Você está forçando a recompilação tocando nesses arquivos, o que é um gatilho para o IIS que algumas coisas mudaram e para chamar tudo de novo.
Por uma questão de prática, você deve criar sua rotina de implantação para carregar a DLL, depois tocar no web.config e nem precisar parar, iniciar ou reiniciar o aplicativo. Isso ajuda?
-Paul Drew