Ok, I have understood a little more about c #, but I think that godot Rects, Vector2, etc must be classes instead structs (I think; maybe I'm wrong)
Godot Rect and Vector as structs:
Rect2 rect = rectList[i]; // create a copy
rect.Size = new Vector2 (0.1f, rectList[i].Size.y ); // allocate memory
rectList[i] = rect; // create a copy
If these were classes:
rectList[i].Size.x = 0.1; // no allocations, no copies
Is there other solution to this?
Thanks!