Да Возможно, легко сделать функцию CallRemoteService () как
async Task<string>CallRemoteService()
, это означает, что этот метод можно вызывать много раз, прежде чем возвращать результат для первого или других вызовов.
И вызывать его асинхронно
Task.Run(async () => string result =await CallRemoteService() ... and do other job to add result to main total string builder here..);
с этой строкой ваше приложение не будет ждать результата ..
Но я должен сообщить вам. Вы потеряете свой заказ. Если вам нужен правильный порядок, это означает, что вам нужно дождаться первого результата, а затем - второго. Но это означает, что ваш вопрос неверен.