I don't know whats the exact limit. But when I try following queries in apex.oracle.com then..
SELECT 'b' name, sysdate date_col from dual connect by rownum < 32000;
/*Error Occured in Month view, works fine in Day view*/
SELECT 'b' name, sysdate date_col from dual connect by rownum < 33000;
However I can't imagine calender with so many events and long text. It will destroy look & feel of calender regions.
I suggest you to create some kind of filters so you only display some data at a time. That will definitely help end-users.