Hi everyone,
I did some further digging and it turns out that indeed the SeriesGuide app is the one to blame.
It is apparently a known issue, see this Google search for an explanation:
It states: This behavior is likely caused by a recent Trakt server update that caused third-party apps, including SeriesGuide, to flood user profiles with ghost or duplicate watched statuses for special episodes (Season 0).
Uwe Trottmann, the developer of SeriesGuide, has been actively resolving server-side API changes affecting how specials and watched items are parsed.It states:
The only thing at Trakt side that could be much improved is the way to remove ‘watched’ episodes in bulk. Now this is a painstaking process of removing them one by one.