Don't be confused... it's an error in the docs. You could do Adobe a favour by commenting at the bottom of the page: they do monitor those comments (they don't always react, but the do monitor them).
onSessionStart() is intrinsically single-threaded as far as the session scope goes: it's only ever run once per session (when the session starts...).
On the other hand the code in question def wants to single-thread access to that application-scoped variable as we don't want two simultaneous sessions hitting it for any given single value of it (if that makes sense).
That is what I thought. but I wanted to confirm it was truely a bug before putting it on the page. Thank You for confirming that it should be "Application"
I saw this thread earlier and went ahead and added a note to that doc page on behalf of firstname.lastname@example.org and crediting Adam and BKBK. And I added a link back to this thread. Didn't want it to get missed, so thought I'd help there.