Если вы объединяете известное число строк, вероятно, лучше просто использовать +, так как компилятор переводит его в вызов string.Concat в любом случае. Так
s = a + " " + b
становится
s = string.Concat(a, " ", b)
Но первое намного читабельнее. Несмотря на обычное предостережение, StringBuilders обычно предпочтительнее, если делать это в цикле.
Использование Chr (32) над "" не повлияет на скорость, так как в этом случае Chr (x) транслируется во время компиляции в VB.Net (не знаю, так ли это всегда, но на моей машине это было ) так что вы просто затрудняете чтение без каких-либо преимуществ. Chr в основном используется для обратной совместимости и обычно лучше всего используется для определения символов вне диапазона печати.
Тем не менее, вероятно, лучше использовать одну из библиотек фреймворка для построения XML, если это не очень маленький фрагмент.