If he is a bit like me, he may not realize when he goes into 'overtime'. Perhaps you can take him aside one day, NOT after such an incident, and say that you noticed that people are not 'getting off the hook'. Suggest a code word or phrase that you agree upon which you can use in front of people to signal him. Make sure that you agree that the code is not hostile, more like a friendly reminder and a hint that the other person wants to leave (or if it's a motormouth, too, that YOU want to leave). You can even present the code as a time saver so that you have more quality time together. Tell him you have a female antenna, so you are doing him a favor with that signal, since he does not pick up subtle signals from others. As long as you are a team, he may see where you are coming from and agree.
The phrase could be "I'll be in the car and make a quick phone call" (make sure you think of a person to call, in case a question comes up) or "Please remind me, we'll have to run by the store later and pick up some groceries for dinner." (make sure to think of anything). Phrases like these sound innocent to others and give the talk a disruption that should make him realize it is the code.
Similarly, my dad did not like certain foods and my mom knew which ones, e.g., certain ingredients. She used to tell him "you cannot eat that" in a buffet, and he was happy. But since they did not use a code, other people found it outrageous that she 'dictated' what he can and cannot eat, so a code is a good thing.