AMHA, tu devrais laisser une seule methode de generation avec comme arg un string, et si tu as un char en entrée, tu fais simplement un .ToString(). =)
Et sinon, pour optimiser un poil le tout, ne reinstancies pas un stringbuilder et un regex à chaque fois, fais le une seule fois, et pour le SB vide le apres chaque passe (tu garderas la taille allouée).