My error was to create my MacroFeature in the IPropertyManagerPage2Handler9.OnClose callback.
I now use IPropertyManagerPage2Handler9.AfterClose callback to create and set material and it's working.
An add-in is unable to do any real work within the PropertyManager2Handler9::OnClose handler because the PropertyManager page and command are closing. So, typically the IPropertyPage2Handler9::AfterClose handler is called after IPropertyManager2Handler9::OnClose to allow an add-in to do work.
Thank for your help