Odd behaviour copying structs - C#