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
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
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."
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.
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.
: so many times that it annoys people.
A bought a present for me and then brought it up ad nauseam on every occasion.