Quando utilizamos um hashtable com assinatura padrão como está abaixo, quando utilizamos contains para verificar se uma chave existe a comparação é case sensitive.
Hashtable valores = new Hashtable();
Para tornar o Contains Case insensitive basta instancia-lo conforme abaixo:
Hashtable valores = new Hashtable(new CaseInsensitiveHashCodeProvider(new CultureInfo(“pt-BR”)), new CaseInsensitiveComparer(new CultureInfo(“pt-BR”)));
Para mais detalhes veja http://msdn.microsoft.com/en-us/library/system.collections.caseinsensitivehashcodeprovider(v=vs.100).aspx