Caso alguém ainda tenha esse problema. A mesma coisa aconteceu comigo quando tentei atualizar o Oracle Driver de 11.* para 12.*.
Descobri que em tempo de execução, ele carrega o assembly Oracle.DataAccess 2.12* e 4.12* do GAC.
A solução rápida é simplesmente fazer um redirecionamento de assembly de tempo de execução para 4.12*, já que nosso destino de aplicativo é .Net Framework 4.*.Minha solução preferida é migrar para usar a versão NuGet do Managed Oracle Driver.
Eu ainda não descobri por que ele lança a exceção mesmo que na dll eles tenham verificado (!assembly.IsDynamic ) como @AardVark71 mencionou. Mas essa linha "assembly.Location" é introduzida em 12.* Oracle Driver. Também não tenho certeza por que carregou duas versões do Oracle.DataAccess Assembly