Running the code:
var formatProvider = CultureInfo.GetCultureInfo("nl-BE");
Console.WriteLine(String.Format(formatProvider, "{0:N}", 12.3456789m));
Console.WriteLine(String.Format(formatProvider, "{0:N}", 12345.6789m));
Will output for .NET Core 2.0 or 3.1 LTS:
12,35
12.345,68
Will output for .NET 5.0 or 6.0:
12,346
12.345,679
Is this intentional?