When you fetch a custom attribute via reflection, what determines whether you get a fresh attribute instance per call or a cached one?var a1 = member.GetCustomAttribute<MyAttr>(); var a2 = member.GetCustomAttribute<MyAttr>();