An outbound connection is functionally equivalent to an inbound connection except in the respect that you initiated it. An outbound only node provides the same resources to the network except that it doesn't provide incoming connection slots. Outbound-only nodes forward blocks and transactions just like any other node. I think it is generally misleading to describe them as leeches.
You could consider one to be a connection slot leech but not a leech in any other respect. There have been times in the past when the Bitcoin network has been short of inbound connection slot capacity, and a troubling percentage of listening nodes are concentrated in a few datacenters (and many appear to be run by parties with ill intent for Bitcoin users)... so it is certainly good for you to accept connections if you at all can.
Nodes without open inbound also provide important DOS and privacy protection to the network: It is much more difficult for an attacker to get connected to nodes that don't accept random connections, since the attacker must wait for the victim to come to them. So the presence of outbound-only peers has the advantage of strengthening the network against some kinds of attack. (That said, the network has more than enough out-only peers to achieve those benefits already...)