Поскольку int (этот псевдоним Int32) реализует IComparable.
namespace System
{
//
// Summary:
// Represents a 32-bit signed integer.
public readonly struct Int32 : IComparable, IComparable<Int32>, IConvertible, IEquatable<Int32>, IFormattable
{
.
.
.
}
.
.
.
}
IComparable является ссылочным типом, Int32 является типом значения. Поэтому, когда вы приводите Int32 к IComparable, происходит бокс.