@ That70sShowDude
I might not be the best to answer this, since I just recently learnt M2, but I want to try =).
After solving the corners and you have parity, you can do the R-Perm (I use Ja), or any perm that swapps only the two edges that are constantly swapped (UB and UL) and two corners. You need to do this to get the edges back into the position in which you memoed them.
Then you do your M2 solve. If you have an odd number of M-slices you do end up with a wrong M-slice, obviously, I just add an M2.
Now if there was a parity with the Y-Perms, you now have 2 swapped corners, and the (if DF is your buffer) DF and the UB edges are swapped.
What I do is to set up the two corners that need to be corrected and those two edges in to any PLL and solve them, and undo that setup.
There might be an easier way to deal with this, but to me this is easy and understandable.
So if you took the R-Perm your UBR and URF corners are swapped, and your DF and UB edges. You could do R F2 R' E-Perm R F2 R'. Oh, or you could do D' L2 (rotate cube in whatever position you need it to be in to do the) R-Perm (rotate back) L2 D. That's easier.
What helped me understand is to take a scrambled cube, memo it and solve it seeingly and check where you memoed wrong or simply how the cube is affected by the parity.
Phew. I hope this was clear and doesn't have any wrong information in it.