Dos objetos .NET que son iguales no dicen que lo sean

Tengo el siguiente código:

object val1 = 1;
object val2 = 1;

bool result1 = (val1 == val2);//Equals false
bool result2 = val1.Equals(val2); //Equals true

¿Que pasa con eso? ¿Es la única forma de arreglar esto para ir con el método .Equals ()?

Respuestas a la pregunta(7)

Su respuesta a la pregunta