When it is causing the blocking it is the head block I've also tried running the profiler while it's acting as the head block and its not doing anything. I realise that the majority of the time the catch should cause an implicit statement to rollback. When this happens the system is very busy so I'm thinking it may be caused by an application side timeout from what I've read this might cause it. Am I correct in thinking this?