CriticalUnblock would not fully solve the problem (it seldom if ever fully solves ANY problem, IMHO). 

The easiest fix is just to place a { before the CriticalBlock line and a } at the point you want the block to end. Same would apply if using a spinblock