Yes, there is a natural explanation. :) If you do "Q2LogMorph showMe" before doing startServer - then you will be able to see how sessions are allocated. Each Q2Session (our subclass of WASession for Seaside users) and Q2SessionWithoutSeaside (our session class used for background services) has a MagmaSession. And each MagmaSession maintains its own separate partial copy of Q2Model (and all its objects). So if you have 100 users logged in you might see 105 Q2Model instances - depending on how many services are active that also maintains a persistent session (not all services do that, some of them allocate and release a session on each run).