Yes, OGo server are by intention not multithreaded. The Samba team even has
an own section in the developers guide on the issue:
Samba DevGuide on multithreading.
The best part is "We can immediately throw robustness out the window" and
actually having a cheap process model is why Unix like operating systems
are so robust.
If you are not convinced, some things to consider:
Threading is often used just to workaround blocking IO operations. This
is not so big a problem in OGo since OGo servers are always run behind an
Apache server. So actually the Apache does all the hard network IO work
and once a message is fully received it gets passed to OGo. Which means
that OGo only needs to wait for IO on localhost, not on high latency
network connections.
In addition the libFoundation library used by OGo makes it easy to use
non blocking IO instead of threads for waiting on network connections and
the like.
Finally if you really need application server concurrency, you can run
multiple OGo servers and either use the snsd in front for dynamic assignment
of sessions to processes or you can use regular HTTP load-balancing tools,
eg for routing requests based on the IP address.