As well I have noticed that disabled groups commands are still recognised but not executed.
No this is not how it works. When a group is disabled the commands will not be recognized. If your commands in disabled groups are being recognized then something is wrong. Either the groups that you are trying to disable are not being disabled or there is something wrong in VC.
I have personally never had a problem with commands in disabled groups being recognized.
The only advantage of having groups unloaded as opposed to disabled would be to save memory, but it would also be difficult to implement, and probably reduce stability.
You should be able to verify if a group is really enabled or disabled in the groups tab on the main VC window.