Enumerable.Empty wont ever return null, so the null CategoriesSelector your seeing means that field has been updated after your example line.
I'd say this is due to kentico setting it to null after pulling the widget property data from the database.
Might be worth just null checking the property before trying to access it?
Or also, just a thought - have you tried applying the [Required] attribute to it like PathSelectorItems?