Sorry for the confusion. You are right, it has nothing to do with DataBind().
You can see in the source code that BeforeEventRender is called from Render(). This method is called during initial page load and after every PostBack. This is how WebForms works.
The events themselves are stored in ViewState but they are always rendered.
You might be prevent Render from being called using a combination of UpdatePanels (one for DayPilotCalendar, one for the TextBox). Set UpdateMode to Conditional.