Z>Не, _этой_ точки не было
Штука как раз в том, что эта точка была.
И после того, как вы "создадите новую" точку var point2 = new Point(10, 20); это будет все та же самая точка.
Все, что тут создается нового, это переменная, которая есть часть программы, но уж никак не часть мира точки.
Z>Предложите более понятный способ инициализировать всякие структы
line = Line(Point(0, 0), Point(5, 2));
circle = Circle(Point(5, -1), -2.5);
Вы же когда по русски на листочке пишете координаты точки, не говорите, что это новая точка. Вы просто на нее "ссылаетесь".
Z>Хотя C# идёт всё дальше от понятности/читабельности
Зачем писать слово "new", которое все равно ничего не делает?