Stavo anche provando questo

DateTime oggi = DateTime.Now;
int giorno = oggi.Day;
string mese = oggi.Month.ToString();

if (mese.ToString().Length == 1)
mese = "0" + mese.ToString();

string InizioMese = oggi.Year.ToString() + mese + "01";
DateTime DataInizioMese = Convert.ToDateTime(InizioMese);
DateTime UltimoMesePrecedente = DataInizioMese.AddDays(-1);

ma non gli piace la riga

DateTime DataInizioMese = Convert.ToDateTime(InizioMese);