Camera acts weird when looking up

I think I may have spotted the cause(s) of your problem. Going through the video frame by frame, I have noticed that the camera rotation is reset to the old angle it had while wall-running. This may be caused by using the pawn rotation and changing the controller rotation with it. This will result in their rotations being out of synch. There is some weird behaviour with the CharacterMovementComponent when looking straight up. While you can use the controller rotation to force the two rotations to be synchronised (you already figured that out), you might want to work with one rotation at a time, either the controller or the pawn.

EDIT:

Why not just force the pitch?

There will probably still be one frame when looking up in which the roll of the camera is set to -20/20.