Eu encontrei o problema.
Existe o problema
A Microsoft confirmou que este é um bug no .Net Framework 2.0, 3.0 e 3.5. Abaixo está uma citação do e-mail que recebi deles:
"
A questão que estamos vendo é de fato um erro, e seguir é a explicação para o mesmo.
Resumo "O objeto Params é uma coleção do objeto QueryString, Form, Cookies e ServerVariables. Quando o objeto params é criado pela primeira vez, ele adiciona cada um desses objetos à sua coleção no método FillInParamsCollection. O primeiro objeto a ser armazenado é o QueryString. Se este objeto ainda não foi criado, o que no nosso caso não é, o construtor para este objeto tenta preencher o objeto QueryString.Este processo recebe a codificação chamando um método em HttpRequest chamado GetEncodingFromHeaders (). O método procura especificamente por um User-Agent que inicie com "UP". Nesse caso, ele tenta recuperar o cabeçalho "x-up-devcap-post-charset" da coleção Headers. Entretanto, como a coleção Headers ainda não está inicializada, também passa por sua rotina de inicialização.Uma das coisas que sua rotina de inicialização faz é definir a coleção Params como NULL.Isso é o que causa o AV, quando o método FillInParamsCollection tenta inicializar O próximo objeto após o objeto QueryString. "
Solução alternativa Pré-inicialize o objeto QueryString para evitar o problema. Simplesmente acesse Request.QueryString (). Não precisamos fazer nada com isso, apenas acessá-lo.
amostra:
Object o = context.Request.QueryString;
NameValueCollection parameters = context.Request.Params;
"
A solução era usar diretamente no código Request["Value"]
e não Request.Params["Value"]