My previous job does the opposite. We create a branch on for a release, then everyone works on main. Whenever a feature is done, we merge to the release branch, run tests on it and release the software. Worked very well for a long time. I guess it makes agile more difficult?