Why do i need to fix parity between solving edges and corners?
Because parity exists, and you need to solve it if you want to know how to BLD.
Is there no way to fix it at the very end?
There is a way. Also, next time, please write "Is there
a way to fix it at the very end?" sa that it's possible to give a clear yes/no answer to your question.
For example by memorizing what PLL i performed last
Huh?
Firstly, it helps to know what method you're using. But no matter what method, it's probably possible for you to set up your parity so that you always solve it using the same PLL alg.
For classic Pochmann, you can shoot UBR at the end of corners (assuming your buffer is UBL) if you have parity, and if you use M2 you can add M2 F2 at the end of edges. That always gives you a T-perm.
Not how I'd do it, but it's an example.