Nodes right now will end up triggering a self-disconnection if
- the peer is a pruned node, and
- the node is lagging behind > 290 blocks.
The end results are arguably even helpful (weed out pruning nodes so you can find a full node to sync up against), but I think this should be handled in a less indirect manner (i.e. a node will drop all or a portion of its limited (pruned) peers if it discovers that there are blocks > a certain height.