Estou tentando descobrir quando e por que usar um dicionário ou um HashTable. Pesquisei um pouco aqui e encontrei pessoas falando sobre as vantagens genéricas do Dicionário com as quais concordo totalmente, o que leva a vantagem do boxe e do unboxing para um pequeno ganho de desempenho.
Mas eu também li que o Dicionário nem sempre retornará os objetos na ordem em que foram inseridos, coisa que está classificada. Onde, como um HashTable. Pelo que entendi, isso faz com que o HashTable seja muito mais rápido em algumas situações.
Minha pergunta é realmente, quais seriam essas situações? Estou errado nas minhas suposições acima? Quais situações você pode usar para escolher uma acima da outra (sim, a última é um pouco ambígua).