Имея startTime и строку RRULE:
public IList<DateTime> GetListOfDateTimes(DateTime start, string RRULE, int maxItem)
{
//What would be the best way of returning a list of all datetimes that RRule would match?
}
* maxItem позволит избежать бесконечного цикла:)