I'm not sure if this falls under the domain of WebKit or Mac OS, but when making a call initially to the GeoLocation API and then making another call to it before the first call has finished, will cause any further calls to the API to timeout. This can happen when e.g. clicking the back button and then reloading the current page, given that both pages are making calls to the API.
Looks like this is fixed now in 5.1.1.