Исключение выдается, потому что указанная вами строка не может быть преобразована в число с использованием указанного вами формата и вашего текущего cultrue .Последнее не имеет значения, если вы не укажете его.
Если вы читаете это значение из базы данных, вам следует использовать инвариантную культуру (то есть культуру, предназначенную для согласованного сохранения чисел и дат в любом месте, где вам нужно)., кроме пользовательских интерфейсов).
Ваш код становится:
return double.Parse(number, numberStyle, System.Globalization.CultureInfo.InvariantCulture);
Вместо этого, если вам нужна конкретная культура, вам нужно передать правильную культуру вместо инвариантной.