Вы должны всегда возвращать интерфейс, а не конкретный тип, это само собой разумеется, поскольку оно определяет поведение, разрешенное без привязки потребителя к конкретной реализации.
С точки зрения того, какой интерфейс возвращать, вы должныподумайте о назначении метода и намерениях звонящего.Если вы вернете коллекцию, сможет ли звонящий изменить коллекцию?например, добавить / удалить элементы?если все, что им нужно сделать, это перечислить его (выполнить foreach), тогда вам просто нужно вернуть IEnumerable.