Yes … that’s the behavior I have on my side. A part of the explanation is that dt doesn’t succeed in saving the xmp file, due to some exiv2 error in your xmp data.
Having the config “look up for updated xmp at start up” set, dt detects a difference on file timestamp … but when you ask to update the database dt fails to save the xmp. So the timestamp remains unchanged… and the detection is triggered endlessly.
That’s where I am.