Что следует иметь в виду при разработке неблокирующего пользовательского интерфейса. IObservable предназначен для этого?
Существует также очень интересная идея сопрограмм при работе с асинхронными методами.
Вы можете прочитать об этом здесь:
Я думаю, что наиболее общим правилом было бы: все длительные операции, такие как вызовы базы данных или службы, должны выполняться либо асинхронно, либо в отдельном потоке или в фоновом режиме.