Why are 0.13.1 Core nodes connecting only to Witness (e.g. 0.13.1) nodes? I have my Core 0.13.1 node configured to connect to 16 nodes, and invariably I see it connected only to other 0.13.1 nodes, even though, according to bitnodes leaderboard, these nodes form a minority.

Why is the selection logic this restrictive?

I am also noticing my 0.13.1 node that accepts incoming connecting as relatively overloaded I/O-wise since it upgraded.

I can understand this selection logic being necessary once SegWit activates, but why already, given we don't know yet whether SegWit will activate?

Related: https://github.com/bitcoin/bitcoin/issues/9072
Bitcoin Core 0.13.1 preferentially maintains at least 4 outgoing peers that advertise NODE_WITNESS support to avoid being partitioned. You are not only connecting to these nodes, more than 4 outgoing peers is coincidental or caused by those being other peers you recently connected to.


  even though, according to bitnodes leaderboard, these nodes form a minority.


Bitnodes only shows peers with listening sockets available. There is an unknown, greater number of nodes in existence which do not listen on a public port and will not be part of that leaderboard, but will connect to you. The preferential peering is exacerbating that effect, but is completely necessary.