But that's not all: when the create/update callbacks are called onto the controller, if the method leaves with an invalid ModelState, the same thing occurs. In my case, this was be design and to fix it, I simply cleared the ModelState using ModelState.Clear().
One could also iterate through the ModelState to remove errors only. The goal here is to make the ModelState valid.
More info on this Stack Overflow question: