Я обошел эту точную ошибку, не добавляя ListBox в родительскую коллекцию Page / Controls. Потому что мне действительно не нужны были какие-либо функции на стороне сервера. Я просто хотел использовать его для вывода HTML-кода для пользовательского серверного элемента управления, что я и сделал в обработчике событий OnRender. Я надеялся, что использование элемента управления избавит меня от записи в ответ моего собственного html.
Это решение, вероятно, не будет работать для большинства, но оно не позволяет ASP.NET выполнять ValidateEvent для элемента управления, поскольку элемент управления не сохраняется в памяти между обратными передачами.
Кроме того, моя ошибка была вызвана тем, что выбранный элемент списка был элементом, которого не было в списке предыдущего постбэка. Incase, который помогает кому-либо.