Well, it could be both, of course. You ALWAYS have more to learn, regardless of whether this code is correct.

However, you may be thinking about this wrong. In most cases, any individual viewing the web page will be independent of any other person viewing the web page. So, it's quite likely that every user of the process is sharing the object, but there is only ever one user of the process. Each user gets their own process independent of any other.

I guess I'm not quite sure about some of the architecture here, so I still have stuff to learn, as well, but I believe that there will be one instance of the class per user of the service. That could be wrong, though, and there's enough missing from that class that I'm not certain. If this is a process on a web server, then it should be per instance. If you are creating your own server, then it depends on how the server is handling requests. Normally, each request would be spun off to its own thread, but you don't HAVE to do it that way, in which case you could get interactions.

The class does have to be instantiated somewhere, though, since it appears to be calling non-shared members.