I was able to successfully reproduce the issue using the Falafel example the you pointed to.
It happens because in the cbCategories_SelectedIndexChanged method the products for the selected category are set through ovProduct.DataSource, which is incorrect.
The correct way is to use opProduct.ObjectSource like in the snippet bellow:
opProduct.ObjectSource = from product
where product.CategoryID == selectValue
You must have in mind that although this will resolve the exception the new products will not have a category assigned, and you will probably want to assign a category to the newly created products.
I hope this helps.
the Telerik team