List of struc passed by reference

Hello Iv had a bug that has been driving me up the wall. Iv finally fixed it but am perplex by the behavior.

As far as I have understand struct are passed by value. However in my game I had an array of struc

newData = oldData;

where newData and oldData are a List<BuildingData> and building data is a struc.

In the above code oldData and newData are been passed by reference. Is this normal behaver. Iv search google and not been able to find anything about it.

List and Array are objects, regardless if they contain structs or not.