Вы хотите использовать асинхронные вызовы при вызове из основного потока.В противном случае весь пользовательский интерфейс перестанет отвечать (например, зависнет), пока сервер не ответит.(Пользовательский интерфейс поддерживается основным потоком).
Вы хотите использовать синхронные вызовы при вызове из другого потока, и вы хотите, чтобы он дождался ответа, прежде чем продолжить.Если вы вручную создали поток, вызов асинхронного из этого нового потока создал бы третий поток.
Асинхронный означает, что «вызывающее тело» не будет ждать, пока задача не будет выполнена.