[Edit: My apologies ... the original question wording was ambiguous and I was not getting the responses I am looking for]
For any class X that inherits from class Y,
In your comments it looks like you expect List deriving from List if x derived from y and hence you expect true for some of the checks. This is invalid assumption for List.
If type x relates to type y you can't say anything about relation between RandomGeneric and RandomGeneric without looking at the types themselvs.
In your particular case List and List are always sibling types (derive from common parent, but have no relation between each other). The same goes for IEnumerable and IEnumerable.