A user willing to get something from a web site will allot the site a number of patience units, a quota.
The number of units depends on the site's expected outcome, or the interest of the user in that outcome.
In some cases the quota might be infinite, like for example when the user is doing taxes through a web interface, by force.
As the site provides value, the user might allot more units. On the other hand, if the site lags behind the user's expectations then it (the site) starts consuming patience units.
When the remaining number of units reaches zero the user leaves.
All the progress indicators and hypnotic revolving animations are attempts to make the user refrain from withdrawing patience units from the current session.
So, there is not a fixed time after which the user will leave.
To make your users stay offer them great value. Or faster response times.
There is another facet, like building confidence through honesty. @Dominik's visualization is a good example, in that it sincerely communicates the user for how long will he have to wait, as opposed to the phony stay in line messages from some call centers.
If the users know the value of what they are waiting for, and more or less how long the wait will take, then they can make an informed decision no matter what Nielsen sais.
Web sites should not attempt to influence them; maybe begging would be right: please don't go!.