I am not sure if Unreal is smart enough to compare 2 materials and decide they are equal, if it’s true - then copies of materials not changes performance at run time (because theay are same shader), but compile time for each material keeps same, I can say this for sure since I worked on projects with lot’s of imported assets from the store and each asset had same or almost same material, but unique one.
So, use Material Instance where ever you can use them - it’s saving compiler time and probably run time performance.
I am not a graphics engineer but my assumption is that the answer is the same… we’re most likely talking kilobytes here. If you need to reduce your memory consumption you will have to look at the texture assets used by the materials.