The reason why 20# containers (cylinders which actually have more than that, but are rated for 20#s) hold 16# is because a propane exchange place only has to use 3.6 gallons to fill up a 4.7 gallon tank... 75% of the fuel for 100% of the profit.
The tank is rated at 20#, which means that it isn't unsafe to fill it with 4.7 gallons of fuel. In theory, 4.69 gallons of fuel, because after 4.7, the OPD should cut in and stop the filling.
Of course, there is the convenience aspect of exchanges, which makes paying $20 for less fuel worth it. If I want a tank filled, it is a drive out of Austin to a RV park, RV dealer, or a propane place in one of the smaller towns.