Try changing the line that reads like this
//this is to handle the material queue moves.
var mtlQSeq = (from m in Db.MtlQueue
where m.Company == Session.CompanyID
&& m.PCID == x.Calculated_SourcePCID
select m.MtlQueueSeq);
to
//this is to handle the material queue moves.
var mtlQSeq = (from m in Db.MtlQueue.With(LockHint.NoLock)
where m.Company == Session.CompanyID
&& m.PCID == x.Calculated_SourcePCID
select m.MtlQueueSeq).ToList();
I’m not sure it will resolve your issue but that’s what I would try first. Hope that helps