<p>Do any one know which sorting algorithm is used by .net when we implement <code>IComparer</code> in our class?</p>

According to the
MSDN
, .NET uses QuickSort. By the way, the method absolutely doesn't depend on the comparer (as long as it's comparison-based), why should .NET therefore use a different method depending on whether you provide a custom comparer or not?