I personally prefer 5 1/2 to 6 months of age if the mares don't loose too much weight. But, I don't breed my mares every year either. I prefer to breed them every other year so that they are not pregnant and nursing at the same time as I think this does help with some of the weight issues.
I found that when I wean at 6 months old, the foals just don't stress out like they do earlier, and the mares are less stressed also. Also, the mares take the seperation better as they almost seem to think "Thank heavens I can be rid of that whipper snapper for a while." Also, the foals seem to have a much higher confidence level when I have waited until they are older. I have horses that were weaned at 3 months, and I can tell you that some of them were definately very certain of themselves before weaning, and then it took some time for them to regain part of that self assurance.
Another thing, by waiting that long, the foals are well on their way to eating solid food and they don't need any special formula or starter to help them along. One needs to remember that during the first year of life it is hard for a foal to get all the nutrients out of the solid food that they eat. The younger they are, the less the body absorbs the nutrients from their solid food. So by waiting, they do better with just a very high quality diet without any special diets.
Really, if the foal gets an adequate supply of nutrients from a starter, one can wean earlier. And I think that often people wean earlier not because the mare is loosing weight, but because they want to start to use the mare for other things or they wish to start using the foal. Showing horses is one example of where the practice of weaning early is often seen as a benefit.
But this is just what has worked for me. And definately it depends on each horse. Heck, there have been times I haven't weaned until 7 or 8 months and the foals are almost totally weaned by the mare herself. That makes it really easy then. (I did the same practice with large horses as well.)