Are these fixes immediately deployed into the QA environment (after integration testing) or are they accumulated till the completion of the current test cycle.
It depends. If an issue is blocking and doesn't allow testers to run more tests, to finish a whole test plan (i.e. to do their job), then it might be obviously required to release the fix immediately. If an issue is not a blocking one, then it might be preferable to queue the fix and make it available in the next release. But this requires lots of administrative work (logging the issue, annotating the test case, etc...).
Now, if QA occurs very early during development (i.e. if you are not using a very sequential development cycle), if testers are working closely with developers, then it might be good to fix an issue as soon as it is discovered and to even avoid creating an inventory of bugs (big waste).