Buffer de dados do cursor do banco de dados, mantendo a interface do usuário responsiva

Eu tenho um catálogo de banco de dados que é preenchido e um cursor que pode ser usado para recuperar objetos. Este catálogo pode obviamente ser muito grande, e o que eu gostaria de fazer é usarReactiveUI para armazenar em buffer os dados, mantendo a interface com os dados ligada e responsiva. Eu segui os passosAqui para traduzir meuIEnumerable em umIObservable, como mostrado aqui:

public class CatalogService
{
   ...

   public IObservable<DbObject> DataSource
   {
        get
        {
            return Observable.Create<DbObject>(obs =>
            {
                var cursor = Database.Instance.GetAllObjects();
                var status = cursor.MoveToFirst();

                while (status == DbStatus.OK)
                {
                    var dbObject= Db.Create(cursor);
                    obs.OnNext(dbObject);

                    status = cursor.MoveToNext();
                }

                obs.OnCompleted();

                return Disposable.Empty;
            });
        }
    }
}

Na minha opinião classe (especificamente, oLoaded&nbsp;Estou subscrevendo a fonte de dados e usando o método buffer na esperança de manter a interface do usuário responsiva.

    public ObservableCollection<DbObject> DbObjects { get; set; }

    private async void OnLoad(object sender, RoutedEventArgs e)
    {
        var observableData = CatalogService.Instance.DataSource.Publish();
        var chunked = observableData.Buffer(TimeSpan.FromMilliseconds(100));
        var dispatcherObs = chunked.ObserveOnDispatcher(DispatcherPriority.Background);
        dispatcherObs.Subscribe(dbObjects =>
        {
            foreach (var dbObject in dbObjects)
            {
                DbObjects.Add(dbObject);
            }
        });

        await Task.Run(() => observableData.Connect());
        await dispatcherObs.ToTask();
    }

O resultado é, infelizmente, exatamente o oposto. Quando meu controle de visão (que contém um simplesListBox&nbsp;dados ligados aoDbObjects&nbsp;propriedade), ele não mostra nenhum dado até que todo o catálogo tenha sido enumerado. Só então a atualização da interface do usuário.

Eu sou novo no ReactiveUI, mas tenho certeza que é capaz para a tarefa em mãos. Alguém tem alguma sugestão ou ponteiros se eu estiver usando isso incorretamente?