0 or 1 string allocation/single pass data copying.
Making it reusable, opening doors for innovations
A struct to avoid/reduce allocation for params array
Reused large StringBuilder is more efficient both in memory and CPU
LOH memory issue and multiple rounds of data copying
Avoiding LOH and temp allocations
Magic of StringList replacing StringBuilder
DIY version can be much faster