Когда вы создаете повторяющееся событие без конечной даты, поставщик расширяет его, чтобы заполнить ваш календарь как минимум на год. Если вы прокручивали свой календарь в течение более года, он будет расширять событие до последней просмотренной даты.
Да, это довольно неэффективно в теории, но не так уж плохо на практике. В моих тестах ежедневное событие, запланированное на 5 лет, занимало около 150 КБ в размере базы данных (1858 строк). Еженедельное событие - 30 КБ (266 строк).
Это не проблема для нормализованной базы данных с индексами даже на младших устройствах.