The premise seems to be that IPFS takes too many resources because of DHT, and DHT takes too many resources because it opens too many connections.
Possibly a single setting needs to be tuned based on a discovered connection thruput? If the entire and sole argument is that is opens too many connections, well, you know, just open fewer connections. This isn't a valid complaint about BitTorrent (in which every client allows for max connection tuning and good clients tune connection making behavior dynamically), and it's not a valid complaint against IPFS in general, just the current state of the code.