Una conseguenza interessante del fatto che "System.Enum is the only reference type that extends System.ValueType" (Brad Abrams, SLAR, p. 174) è quella che typeof(System.Enum).IsClass ritorna false! E' quindi l'unico tipo t all'interno del Framework per il quale l'espressione t.IsAbstract && !t.IsClass && !t.IsInterface è true!
Tutto ciò si spiega guardando l'ultima parte del codice (quella sottolineata) della proprietà IsClass:
public bool IsClass 
{
  get 
  {
    return ((GetAttributeFlagsImpl() & TypeAttributes.ClassSemanticsMask) == TypeAttributes.Class && !IsSubclassOf(Type.valueType));
  }
}
dove valueType è:
private static readonly Type valueType = typeof(System.ValueType);
La conclusione? La conclusione è che esiste una classe che non è classe :-) Meno male che è soltanto una. :-)