Apparently this was caused by the way I was initializing my ksession. I was loading it with an empty KnowledgeBase and then loading the knowledge base afterwards. This worked on 5.2 but 5.3 seems to corrupt something when you initialize the ksession this way (which would go unnoticed untill you tried to load the ksession again). Also some workflows would not execute properly as it seems that workflows executed resulting from timer schedules and events would be executed in a ksession with an empty knowledge base (even if the ksession was already loaded again with a proper kbase).
Changing my initialization code to load the stateful session for the first time with the kbase already initialized seems to have fixed the problem.