I would suggest using this code instead, as it will not free all of the rotation constraints, after rotating, which rb.freezeRotation = false
would do. This new code will only unfreeze the rotation on X and Y, and make sure that the position on the z-axis will be frozen
rb.freezeRotation = true; // freezing rotation so we can manually rotate
transform.Rotate(Vector3.forward * (rotationThisFrame * Time.deltaTime));
rb.constraints =
RigidbodyConstraints.FreezeRotationX | // freezing rotation on the X
RigidbodyConstraints.FreezeRotationY | // freezing rotation on the Y
RigidbodyConstraints.FreezePositionZ; // freezing position on the Z