Penso dipenda dal tipo di variabile e da come gli assegni il valore, mi manca la voglia di smazzarmi il codice per un datagrid quindi ti faccio un banale esempio:
Private Sub Button1_Click() Handles Button1.Click
'scrive 5,00
Dim numero As Integer = 5.13
Console.WriteLine(String.Format(numero.ToString("N2")))
'scrive 513,00
Dim numero2 As Integer = "5.13"
Console.WriteLine(String.Format(numero2.ToString("N2")))
'scrive 513,00
Dim numero3 As Decimal = "5.13"
Console.WriteLine(String.Format(numero3.ToString("N2")))
'codice corretto
Dim numero4 As Decimal = 5.13
'scrive 5,13
Console.WriteLine(String.Format(numero4.ToString("N2")))
'scrive 5.13
Console.WriteLine(String.Format(numero4.ToString("N2", CultureInfo.InvariantCulture)))
End Sub