Buffer de datos desde el cursor de la base de datos manteniendo la interfaz de usuario sensible

Tengo un catálogo de base de datos que se llena y un cursor que se puede usar para recuperar objetos. Este catálogo, obviamente, puede ser muy grande, y lo que me gustaría hacer es usarReactivoUI para almacenar los datos en búfer, mientras se mantiene la UI enlazada a los datos y receptiva. Seguí los pasosaquí para traducir miIEnumerable en unaIObservable, como se muestra aquí:

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;
            });
        }
    }
}

En mi clase de vista (específicamente, laLoaded&nbsp;evento), me suscribo a la fuente de datos y uso el método de búfer con la esperanza de mantener la interfaz de usuario receptiva.

    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();
    }

El resultado es, lamentablemente, todo lo contrario. Cuando mi vista controla (que contiene un simpleListBox&nbsp;datos enlazados a laDbObjects&nbsp;propiedad) se carga, no muestra ningún dato hasta que se haya enumerado todo el catálogo. Sólo entonces se actualiza la interfaz de usuario.

Soy nuevo en ReactiveUI, pero estoy seguro de que es capaz para la tarea en cuestión. ¿Alguien tiene alguna sugerencia o sugerencia si la estoy usando incorrectamente?