Ну ежели ты хочешь, чтобы клиент мог создавать этот самый class2 только через один из методов
твоего интерфейса, то всё правильно. Лепи в IDL атрибут noncreateble к коклассу и всех делов.
Создавать и возвращать сам будешь. Ну а удаление объекта через Release. Как обычно.