Preconditions: Application uses AsynchronousPageStore (as it is by default).
When there are several fast sequential Ajax calls to a component, then a component's LoadableDetachableModel gets attached and detached several times before real async serialization takes place. And at times the serialization is initiated when the model has been already attached once again by a subsequent Ajax call, and not detached yet as the request is still in progress. This causes NotDetachedModelChecker() to throw "Not detached model found!" exception
Disabling async serialization fixes the problem.
A test-case and a log attached.