Ну вот, я не знал такого) что свойства первые срабатывают
Там слово умное есть, забыл как называется. При компиляции, если инициализируются поля и свойства, они перед конструкторами отрабатывают. preinit что ли, @SBenzenko писал об этом вроде бы
при генерации IL-кода конструктора типа компилятор C# сначала генерирует код, инициализирующий статические поля, затем обрабатывает явный код, содержащийся внутри метода-конструктора тип