The first reason you need to ask yourself is why are there changes needed to this common list? Because only when both queues change an object in the common list you get these deadlocks. What might solve this is that if a changes is needed to do a commit in seperate database transaction (community commons). But do note that other queues must make sure that they retrieve the latest status from the database before changing and doing a commit in seperate database transaction again.
Regards,
Ronald