The documentation and example say that the argument "4.0.0beta" would perform the code even when the current version is "4.0.0beta". But actually, the code checks if the version comparsion is smaller than 1. This means, that the code will not performed if the current version is 4.0.0beta
So, the documentation should say: Specify the version in which the function won't be called.
Maybe, this is issued by the build number (Ext.Version.compare(Ext.getVersion('extjs'), '126.96.36.199') == 0. Should this be correct?
The documentation does not have enough information about Ext.data.Store.autoDestroy, which is used in Ext.util.Bindable.bindStore().
After destruction of the grid, the store is not destroyed automatically. If not used storeManager (if the store is created without the storeId) and not to destroy store manually, then store remains in the memory.
Maybe later it will be deleted memory manager, but for this purpose there is a Ext.data.Store.destroyStore().
If you add autoDestroy = true, on destruction of the grid is automatically called store.destroyStore(), which destroys store (cleans it, removes the listeners, etc.).
IMO instead of "The id of the model or the model instance" should be "The class name of the model" or sth like this. How it is, sounds confusing, I was looking for some id, but when I looked to code I understood that the argument value can be only the class name of the model.