The constructor type hinting of LoadClassMetadataEventArgs is not good. It should be ClassMetadataInfo and not ClassMetadata.
ClassMetadataInfo is the base class used in the DisconnectedClassMetadataFactory. So when the event is used the argument is ClassMetadataInfo instance and not a ClassMetadata instance. I have this issue with the DoctrineBundle form the symfony2 framework.