Well, I'll be watching for the next time you bash String usage without demonstrating is a cause of the issue actually being discussed. Kind of like waiting for dogs to start barking at the moon. 8)
Your input is always welcome. In such a case, I would be looking to see whether you can offer a successful solution.
Here's the big picture of the problem:
Someone (often a noob, but could be a crossover user from another environment) begins a project. It starts small. They see the obvious convenience and elegance of the String class, so they use it. The project grows, as they see more features and enhancements that are desired or needed. More hardware might be added. It gets bigger. Now they are heavily invested in the String class. It grows some more. Gradually, without warning, the program becomes unstable. There is no error or apparent reason for it. They don't even know whether it is a hardware or software problem. So they post their problem here.
It's a huge sketch, so the most likely cause is pointed out to them, heap fragmentation due to the String class. It's hard to swallow. To change it now, means a complete re-write. Nobody wants to do that. So, often there is denial. Often they sulk away, never to be heard from again. Usually there is too much fixing to do for there to be instant feedback to the forum.
That is why it is important to avoid the class from the very beginning. The alternative method also uses memory, but in a more controlled, measurable way. Then a real error message will alert the programmer that memory is running out. This is especially important for beginners, who are justified in having some doubt about all the components of their program. Making the behaviour more predictable not only makes the program more reliable, but makes troubleshooting easier.