Я вот не очень понял, стандартная функция GetHash возвращает 4 байта, собственно этим ограничивается ее множество значений.
Соотвественно существуют множество строк из 5 ти символов для которых GetHash() вернет одинаковое значение, при этом строки будут разные.
Как в этом случае быть с Dictionary<string, object>, где ключом является строка. Получается очень не надежный вариант ? Т.к. разные строки могут в результате ссылаться на 1 объект.
Или в Dictionary не используется GetHash функция и считается как-то иначе.