Я думал об этой проблеме, так как сам столкнулся с этой проблемой. Где я хочу создавать экземпляры по требованию, а не создавать их для меня композицией.
Сценарий, который у меня есть, заключается в том, что мне не нужно знать конкретный тип, но мне может понадобиться создать несколько экземпляров типа, использовать их и при необходимости утилизировать. Решение, которое я придумал, состоит в том, чтобы вместо использования MEF загружать конкретные типы и заставлять его создавать экземпляры для меня, использовать MEF для загрузки фабрик, которые знают, как создавать экземпляры типа, который я хочу контролировать временем жизни. *
MEF загрузит и создаст фабрику, а затем я смогу использовать фабрику для создания экземпляров, которые я могу использовать и утилизировать по желанию.