Actually, in the SDK, 'On collision' is a "fake trigger", meaning it's treated in the editor like a trigger but coded like an ordinary condition!
'On collision' is therefore treated almost exactly like:
+ Is overlapping
+ Trigger once
'Is overlapping' actually does looping over the affected instances which is not usually noticable, but that behavior should be removed from a future build anyway since it is inconvenient in some situations.