Agrupamento por cada n minutos

Estou brincando com o LINQ e fiquei imaginando como seria fácil agrupar por minutos, mas em vez de ter cada minuto, gostaria de agrupar a cada 5 minutos.

Por exemplo, atualmente tenho:

var q = (from cr in JK_ChallengeResponses
        where cr.Challenge_id == 114
        group cr.Challenge_id 
            by new { cr.Updated_date.Date, cr.Updated_date.Hour, cr.Updated_date.Minute } 
            into g 
        select new {
          Day = new DateTime(g.Key.Date.Year, g.Key.Date.Month, g.Key.Date.Day, g.Key.Hour, g.Key.Minute, 0),
          Total = g.Count()
        }).OrderBy(x => x.Day);

O que devo fazer para agrupar meu resultado para cada5 minutos?

questionAnswers(2)

yourAnswerToTheQuestion