Я думаю, что Basiclife близок, но проверка того, является ли идентификатор пустым, может быть проблемой или недостаточной, вы должны убедиться, что он не равен NULL, прежде чем приступить к работе с группой, так как вы сказали, что это поле, допускающее пустые значения. В противном случае это выглядит правильно, и если у вас есть проблемы, у вас могут быть неверные данные, или это ошибка или не полностью реализованная функция Linq to SQL, и вы можете попробовать Linq to Entity.
var q = from i in ProcessRoundIssueInstance
where i.GroupID != null
&& i.GroupID != string.Empty
group i by i.GroupID into g
select new
{
Key = g.Key,
Count = g.Select(x => x.UserID).Distinct().Count()
};