When juju destroys a k8s model, it makes an api call to k8s to delete the namespace hosting the model resources. Juju will then wait until the namespace is removed. I've seen k8s hold the namespace in "Terminating" state for many minutes. That's why your destroy model operation is not finishing. As to why k8s takes so long to remove a namespace, I'm not sure.
When juju destroys a k8s model, it makes an api call to k8s to delete the namespace hosting the model resources. Juju will then wait until the namespace is removed. I've seen k8s hold the namespace in "Terminating" state for many minutes. That's why your destroy model operation is not finishing. As to why k8s takes so long to remove a namespace, I'm not sure.