Štruktúra sa síce posúva hodnotou (by value), ale keď obsahuje nejaký objekt, tak ten sa už nekopíruje - kopíruje sa len referencia na ten objekt. V tomto prípade je tým objektom pole - štruktúra obsahuje referenciu na pole, ktorá sa síce skopíruje, ale stále odkazuje na to isté pole.
Ako tomu zabrániť? Najjednoduchšie bude to pole v tých metódach nemeniť, keď ho ani meniť nechceš alebo pracovať nad kópiou toho poľa, ktorú si vytvoríš sám.
Nechápem, čo tie štruktúry reprezentujú a nepáčia sa mi. Štruktúra Stanice obsahuje pole staníc, počet staníc a maximálny počet staníc - pole má vlastnosť Length, takže na počet nepotrebuješ ďalšiu premennú. Namiesto celej tej štruktúry by som použil pole reťazcov, ale možno máš nejaký dôvod, prečo to máš takto. Celkovo by som uprednostnil triedy pred štruktúrami.