The ctor-time LoadAsync races WorkerClient.StartAsync, so the SignalR call fails silently and the pill only fills on the next worker poll (up to 900s). Subscribe to ConnectionRestoredEvent, which also fires on the first successful connect, to retry the cached snapshot.