There are lots of intermediate allocations, that could be avoided.
For .NET 10 the JIT will probably elide them, but for .NET 6+ string interpolation should be used. And IIRC for older targets only some attributes need to be polyfilled, so that the compiler can emit the proper code.
Originally posted by @gfoidl in #640 (comment)