Structures that hash to the same value are sharing values.

I added a unit test "TestStructHashesEqual" that is currently failing, so
that someone can investigate.

I believe the reason for this is structs usually hash to the save values if their member values are the same. The objectsBackMap in ObjectTranslator is a dictionary, which probably uses GetHashCode() to store 'unique' instances in the dictionary. However because the structures hash to the same value, they both get written to the same slot.