All credits go to @Aristos for providing his answer on another question: Click here
he provided three possibilities, my problem was that the page was reloading tripple times causing the viewstate to get corrupted.
I have a customized JQuery datepicker, and there was a javascript code 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.