Normally the creating of the subscription group is not done in your general executable code. Instead it is normally done as a step during an install or as an admin task when setting things up. You should assume the subscription exists in your code.
I’m in a situation where I can benefit from creating/destroying subscription groups at any time during the execution of my app, depending on the presence of some user input. So I’m wondering why the comment above advises against that. Maybe it is the fact that admin privilege is required to do so? Is there any other reason why?