All fish produce ammonia, doesn't matter the species. An overpopulated ten gallon tank of tetras can produce just as much ammonia as one goldfish does. The reason goldfish cause a lot of ammonia is because they are big eaters. So are oscars, plecos, and any fish that requires a protien based diet. The more a fish requires for nutrition, the more they poop, the more ammonia in your tank, the "dirtier" the tank. That why it is also recommended to keep such fish in large volumes of water. The more water you have, the more the fish waste is diluted, the less concentrated the ammonia, the heathier your fish. Also, frequent water changes. With goldfish it wouldn't hurt them to do a 50% tank change twice a week. They actually thrive better for it.
All variety of goldfish definately grow larger than 4-5". Single tailed species such as comets (feeders), and shubunkin can grow a good 24" long and live 30+ years. Koi are also known to top 24-30". Fat bodied fantail variets (orandas, calicos, ryunkin, etc) can grow to be the size of soft-balls. The reason so many people are mis-informed about the actual size goldfish can get are because they don't keep them alive that long. Some people are under the mis-conception that goldfish maybe live only six months or so because they've never taken care of their fish properly. Proper diet, good water quality, strong filtration, and loving adoration are what make goldfish very happy, long-lived, personable pets.
~~Colesea