I think hormones and nutrients in the water also stunt the growth of the fish. In a larger tank these compounds are more diluted allowing for more growth. If you really wanted to see if it was the size of the tank, you would have to either constantly pump in new water into a small tank, or at least do lots of water changes almost daily, and then have a larger tank which was receiving the same treatment. I bet in that case you would find similar growth rates between the fish.
Also, I think it is interesting how everyone talks about how much fish need to swim, like if they don't swim that much they will die. Even the whale comparison with how many miles they swim. Why do they swim that much? Because they need to get food. Tangs are grazers and need to swim a lot to find enough algae to feed themselves. Any of you that have kept large (by large I mean big as in size, not a small tang that will grow large) know that big tangs can go through sheets of nori like they are nothing, now imagine them having to find the equivalent on a reef. They would need to graze over a large portion of the reef. Plus with 50+ tangs maybe on one reef and large parrotfish and other herbivores all trying to get their fill of algae, food is scarce.
In a tank we feed the fish plenty and they don't need to swim that far. But sure they will still use up the whole 500 gallon tank if given one, and might grow bigger, but I think the fact they grow bigger in big tanks goes back to what I started with, the larger water volume diluting hormones and nutrients in the water which limit their growth.