With table sharing where the PKs use value comparers with different ordering ModificationCommandComparer could order concurrent command batches in a way that could cause a deadlock.
Making this work for all cases requires the ProviderValueComparer to implement IComparer