Is using GetAwaiter().GetResult() for async methods in constructor a hack! - C#