If there's only single process in the group, it probably can have pretty good guess about its real memory usage and how much it can free memory, even when overcommit is enabled. But using groups to manage a single process (the process itself), seems a bit weird.
If controller is managing a group that contains also other processes, how often that kind of controller really knows how much memory the other processes use (in general that requires parsing SMAPS data from /proc/)?
I mean, if you need kernel to tell when the group uses more memory than controller has told the kernel it can use, and that comes as "surprise" to the controller, how it knows what it can do with the processes it's managing to free amount that approximates what kernel indicates to be needed?
To me it seems that at best it can request other processes to free memory and hope for the best... And if situation doesn't resolve, it of course can kill them.