All credits go to @Aristos for providing his answer on another question:
he provided three possibilities, my problem was that the page was
reloading tripple times causing the viewstate to get corrupted.
to call an OnvalueChanged event, I was comparing two date values which were
the same but had a different format, which caused the event to fire more
than once somehow.
to debug this, put a breakpoint on the Page_Load event, and if it gets
fired more than once, then start to remove some code/usercontrols, scripts
until you catch the cause.