Tivemos um problema semelhante.
Nunca identificamos oficialmente o que estava acontecendo, mas reduzimos o problema ao nível de representação no web.config e o acesso do usuário à pasta que hospeda o arquivo de montagem.
Descobrimos que, às vezes, o processo de trabalho do IIS tentava carregar o assembly como a pessoa que acessava a solicitação da web. Pudemos ver que o thread que estava tentando carregar o assembly estava atualmente representando um usuário fazendo uma solicitação para uma das páginas do asp.net.
De qualquer forma, contornamos o problema concedendo acesso a usuários autenticados no domínio. Espero que você possa encontrar uma solução melhor.