Consider this:
List obj_list = get_the_list(); foreach( MyClass obj in obj_list ) { obj.property = 42; }
Is obj
obj
obj is a reference to an item inside the List, hence if you change it's value it will persist. Now what you should be concerned about is whether or not get_the_list(); is making a deep copy of the List or returning the same instance.