Dynamically created DropDownList loses ListItems on Postback

I have a page that contains some dynamically created controls (TextBox and DropDownList). When a postback occurs, the TextBoxes keep their values, but the DropDownLists lose their ListItems.
This is quite confusing, since the page level DropDownList also keeps its ListItems. Can anyone see what’s wrong with the code below?