Ну, я бы хотел взглянуть на пару вещей:
1: GetHashCode
правильно реализовано:
?LocationToRackingGroup.Keys.ToArray()[23].GetHashCode() == location.GetHashCode()
2: если это общий словарь, реализует ли тип (явно) IEquatable<Location>
3: вы указали пользовательский IEqualityComparer<Location>
для словаря в конструкторе?
Чтобы исключить последнее, возможно, посмотрите на:
?LocationToRackingGroup.Comparer.Equals(blah23, location); // should be true
?LocationToRackingGroup.Comparer.GetHashCode(blah23); // should equal below
?LocationToRackingGroup.Comparer.GetHashCode(location);// should equal above