You could use "bring up" in conjunction with "broken record" -
Bring [something] up:
To mention someone or something in conversation. A noun or pronoun can
be used between "bring" and "up."
A broken record:
a damaged record that repeats part of a recording over and over again —used figuratively in describing something (such as a statement or experience) that is frequently or tediously repeated
For example,
A bought a present for me and then brought it up on every occasion
[like a broken record]..
Here's something else you can use -
Labor the point:
To talk about or emphasize something excessively and perhaps
repetitively, usually to the extent that the listener becomes bored or
annoyed.
If someone labours the point, they keep explaining something or emphasizing a fact even though people have already understood it.
A: "I don't mean to labor the point, but I'm just worried
that there won't be enough food at the party."
B: "Yeah, we know,
you've said that 10 times now."
For example,
A bought a present for me and then labored the point on every occasion..
I also found a [Latin] phrase that could possibly fit in your scenario -
Ad nauseam [ad naw-zee-uh m]
used to refer to the fact that something has been done or repeated so
often that it has become annoying or tiresome.
(Lexico)
Ad nauseam is a Latin phrase that literally means “to nausea”.
Use ad nauseam to describe something that’s been repeated or discussed so long that you’re sick of hearing about it.
(Grammarly)
: so many times that it annoys people.
(macmillan)
For example,
A bought a present for me and then brought it up ad nauseam on every occasion.