It's just math - that Int.MinSize is a negative number and you're subtracting it. Let's use 32 bit numbers.
Int32.MinValue= -2147483648
Int32.MaxValue= 2147483,647
-1 - (-2147483648) = 2147483,647
You end up precisely with the value of Int.MaxSize, so there is no overflow.