Принцип сортировки в Enumerable.OrderBy и Array.Sort

Здравствуйте! Подскажите, пожалуйста, почему при сортировке одного и того же массива num() типа int[] через Array.Sort(num,comp) и num.OrderBy((r=>r),comp) получается разный результат: Sort сортирует, а foreach зацикливается? У них разные принципы сортировки?

Пояснение: это эксперимент, поэтому мой принцип сортировки специально дурной. Н-р: 5>9==true и 5<9==true.