The onSnapshot observer is using lots of memory over time. How does facebook and Twitter do realtime updates on chat?