la funzione join della classe system.string non è una funzione dello c# ma del .net frameworkè sempre meglio prima usare quello che la natura (del C#) ci da.
e poi non è detto che una funzione già fatta sia la più ottimizzata. Una funzione già fatta potrebbe contenere al suo interno istruzioni in più rispetto a quelle che servono nello specifico.