Thanks for the beer!
Yeah the creation of recurrence is a difficult task, it has to make the event records and friendly url entries for each of the recurrences. I queue a task to create them on separate thread. Then I purposely put a few seconds of thread.sleep on the main UI thread to give the task a chance to start before giving back the UI control. Otherwise you would see the page before any recurrences have been made and you would think it was not working. If the recurrences go for a long time it still may be creating them on the background thread for a litle while but at least if the first few have been made it appears to be working.