Да, ObservableCollection взят из коллекции, а коллекция реализует IEnumerable, поэтому вы можете использовать для него linq.Вот пример использования Enumerable.Count () и группировки по ObservableCollection:
var li = new Dictionary<int, string> { [1] = "1", [2] = "2", [3] = "3" };
var observCollection = new ObservableCollection<KeyValuePair<int, string>>(li);
var t = (from p in observCollection
group p by p.Key into grp
select grp.Count());