The max content setting on the operator is more a "suggestion" than a hard set rule. In the end, task sequences are king, both in the standard 3D world and in the Process Flow world. In other words, if a task sequence tells an operator to load more than one item, it will load more than one item, no matter what its max content is.
The way that the standard 3D modeling logic integrates the max content setting into the mix is via the break task. Actually, the break task is the only place in the internal task executer logic where max content is considered. The standard transport task sequence is: travel - load - break - travel - unload. The break task allows the operator to break away from his current, single-item-focused task sequence, and go to a different task sequence, essentially allowing the operator to multi-task. However, when the operator gets to the break task, he will first check his max content, and if his current content has reached his max content, he will not break to a new task sequence, but will instead finish the task sequence he is on, unloading the item he just loaded.
The break task's exclusive use of the max content setting is the reason why I say the max content setting is a "suggestion" more than a hard rule. If you don't use the break task, then the internal task executer logic will never look at the max content setting at all.
While the standard break task based logic works for many cases, for some problems, such as doing proper unload sequencing, it's not very well suited. In these problems, Process Flow allows for much more customized control over the task executer. However, you would need to take max content into account explicitly. Usually this would just be a decide activity that uses some expression like content(object) < getvarnum(object, "maxcontent"), and then does one thing if the object still has capacity, and another if it doesn't.
In the upcoming 16.1 release, we've added an AGV template process flow that does high level AGV dispatching, and it does just that, looking at the max content setting and dispatching based on it. I mention that just to point you to a (future) example of how you might do it.