Ocaml has a GC and supports class based inheritance, right?
Yes, but the language is immutable and eager by default. That makes circular references a chore.
> and supports class based inheritance
Yes, but hardly anybody uses that part of the language. We tend to stick with modules and variations over them.
You can have inheritance via polymorphic variants: see Garrigue's `Code reuse through polymorphic variants`.