For intersection, multiple objects within a single set are first unioned together into a single object, and then those 2 unioned results are then intersected with each other. 
 
Does that explain what you are seeing there? 
 
For intersecting 3 objects in that way you may want to do that with 2 separate runs of the boolean intersection command, or possibly use merge mode instead. 
 
   - Michael 
 |