А>Есть ли у этого подхода преимущества перед обычной инициализацией через конструктор в C#?
Есть недостаток, нужно во всех методах проверять проинициализирован экземпляр или нет, и если нет выкидывать эксепшен.
А при инициализации через конструктор, у Вас либо есть проинициализированный экземпляр, либо его нет.