It's not binding the List to your DataSource correctly.
Instead of passing in the list, you could add them like the first answer in Using datasource with CheckBoxList
foreach (var item in MyList)
MyListBox.Items.Add(item.WhateverFieldYouWantToBind, false); // second param is whether it's checked or not