How to use BILLBOARDMODE_Z?

It seems fine to me. You can use FromLookDirectionRHToRef instead of FromLookDirectionRH to avoid some GC.

I did not reproduce with your PG, but I think it’s the gimbal lock problem. The best way to avoid it is to not allow the camera looking straight down (set constraints on camera.beta).