The issue was that determining the transaction type (privatesend, create denomination, mixing, ..) was too slow. I optimized the code and it seems to be working fine now. Just processed a 1.91 MB block without an issue. The block explorer should catch up withing an hour or two.