se utilizzo
String.Format("{0:N2}", costo)

mi stampa 0, 00 c'è uno spazio dopo la virgola, come mai.