int weeks = (date1 - date2).TotalDays / 7;
Сгенерируйте количество недель, а затем просто выполните
var list = new List<DateTime>();
foreach(int week for weeks){
list.Add(date1 + TimeSpan.FromDays(7 * week);
}
В списке вы будете иметь все недели между двумя датами