On what levels are the locks being taken?
And that is about the only useful I can say. You say that is pseudo-code, so I guess there is some variation, because it make little sense to submit 15 parallel instances of the same batch that will give the same result.
And, oh, the code you posted looks funky. There are xlock on Table_! to Table_4 in the SELECT, but not on Table_5 which is the one that is being updated! So, yeah, that looks like the simple answer: remove those XLOCK hints!
I'm sorry, but we can only work with the information you share.