Actually, GPLv2 section 4 is quite explicit about the GPL license being irrevocable, which means ESR is doubly incorrect:
GPLv2 section 4:
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
What this means broken down:
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.
You can’t change the license when you pass it on to others.
Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License.
Doing so anyway is a breach of the license and rescinds your own rights to use the work under GPLv2.
However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
Even if your own rights are revoked, people you passed the code along to keep their own rights under GPLv2. Licenses will not be revoked as long as those parties remain in compliance.
Thusly, a GPLv2 grant is irrevocable.