Path.Combine добавляет последний компонент, вам необходимо удалить файл: \ from Folders.Data
Вы могли бы сделать что-то вроде этого
string s = Path.Combine(Folders.Data.Replace("file:\\",""), fileName);
Для ясного решения попробуйте использовать Assembly.Location, как показано здесь это то, что вы хотите.
Таким образом, вместо использования:
return Path.GetDirectoryName(
Assembly.GetAssembly(typeof(Folders)).CodeBase
);
Использование:
return Path.GetDirectoryName(
Assembly.GetAssembly(typeof(Folders)).Location
);