The way this works in 2.79 is that tolerant selection is used when there are absolutely no entire edges in the selection.
But if there is at least 1 entire edge in the selection it turns into not tolerant selection and only what’s inside gets selected.
I have to say I used this behaviour many many many times knowingly and having it under a checkbox would slow this down. Especially because having the tolerant selection work when Blender knows nothing would be selected is better than selecting nothing -> because you can always deselect if you didn’t intend that.
Rhino has an interesting approach to this:
If you select from bottom right it’s not tolerant
If you select from top left it’s tolerant