1 - We don't unset the "current model" if you destroy the model you're currently operating on. Bug #1505504 can track that fix.
2 - There's a timing hole in list-models where we first get all models, then query each one for more details. A model which has been removed during that timing hole would result in the error you saw. While we're iterating over the models, if we encounter one that no longer exists, we should not fail the whole operation. That model should just be removed from the results.
I think there may be two issues here:
1 - We don't unset the "current model" if you destroy the model you're currently operating on. Bug #1505504 can track that fix.
2 - There's a timing hole in list-models where we first get all models, then query each one for more details. A model which has been removed during that timing hole would result in the error you saw. While we're iterating over the models, if we encounter one that no longer exists, we should not fail the whole operation. That model should just be removed from the results.