It is a bug and should have been fixed on a later version. I don't remember which but if you upgrade to latest it should be there.
Long story short: Url resolving is one of the most expensive parts, and CMS Core team introduced a way to cache the url to reduce cost. there was the bug as you saw but it was fixed.
I wrote a blog post about the details and a workaround a couple of months ago. Upgrading to 11.20+ fixes it as well...
Has anyone ever come across links generating from the UrlResolver being cached / not updating when the "Name in URL" field is updated. This is on both the local instance of the site and deployed, I've checked using some caching that's dependent on the ISynchronizedObjectInstanceCache which is working so I feel that the events system is working. But I change URLs in the CMS and they don't update on the front end. I've checked and there's no caching going on as they use the UrlResolver.GetUrl method as I've used a million time but they don't update.
It's strange and not something I've ever seen before. Any ideas?