This is not strange, the DayOfWeek enumeration is defined as Sunday = 0. You must do it yourself using DateTimeFormatInfo.FirstDayOfWeekat System.Globalization.
The correct code is:
CultureInfo ci = new CultureInfo("sv-SE");
int substraction = (int)ci.DateTimeFormat.FirstDayOfWeek;
int dayToGet = 0;
var daynames = ci.DateTimeFormat.DayNames;
string day = daynames[dayToGet + substraction >= 7
? (dayToGet + substraction - 7) : dayToGet+substraction];
, , , str.Substring(0,1).ToUpper() + str.Substring(1), char .