Scenario:
Process A is called, its job is to create 3 Items, and increment a number on another object that it finds by querying.
It gets called, and requests a connection to the DB. Once that connection is given, it cannot be used by another Process, and Process A must route all of its querying, saving, updating (any commands to mongodb) through that connection. After Process A is done, it must release that connection, so another process can be given it.
When Process A requested that connection, a theoretical connection manager (the thing I am wondering about what level it would be wise to implement) selects one randomly from a pool. If it's locked, it selects another one, until it gets a free one, and then locks it and returns it.
Say Process A is called again, so you have it running at the same time as the first, this new instance of Process A will be running on a completely separate connection as the first one.
I hope I explained that well enough :O