В общем, конструктор не должен выполнять какой-либо значимой работы.
Наличие конструктора, который выполняет отложенный код (потому что он asyn c), будет неожиданным для всех, кто использует этот класс (вполне возможно, включая вас в 6 месяцев) и, следовательно, может привести к ошибкам. В таких случаях обычно лучше иметь отдельный метод инициализации, который дает понять пользователю api, что происходит что-то еще.
Если вы абсолютно уверены, что вызывается метод инициализации, я обычно сделайте конструктор закрытым и добавьте метод класса для построения. Это снова сигнализирует пользователям api о том, что что-то происходит за кулисами.