When concurrently unloading classes, it is possible for MDOs to have stale metadata entries in them until the GC comes around to clean it up. That is fine, but there is one place where care needs to be taken; when the compiler interface fetches ReceiverTypeData. This is done by memcpy:ing the ReceiverTypeData to a new memory buffer, and walking the metadata, patching it with corresponding ci metadata classes in the new buffer. The metadata could be stale by now. In such scenarios, the rows should be lazily cleaned.