ShareTCPListener was introduced in PR #5069 to allow Bee to share the same listen address between TCP and WebSocket transports. This is required to enable WebSocket support.
After enabling ShareTCPListener, we observed that nodes started logging sleeping to refresh overdraft balance excessively. This drove CPU very high.
The image below compares the log volume of a node with and without ShareTCPListener enabled (ignore warmup time)

The task is to investigate the behavior triggered by enabling ShareTCPListener.
Note that ShareTCPListener is currently opt-in in libp2p, but it is planned to become the default behavior in future libp2p versions.