I know this is a overly-simple problem, and I'm almost sure I'm just not attacking this correctly, but attaching this script to the camera causes the game to freeze when the appropriate mouse button is held. It remains frozen after releasing the button.
It is simply meant to rotate the camera around [0,0,0].
void Update()
{
while (Input.GetButton("Fire2"))
{
transform.RotateAround(Vector3.zero, Vector3.up, Input.GetAxis("Mouse X") * Time.deltaTime);
transform.RotateAround(Vector3.zero, Vector3.right, Input.GetAxis("Mouse Y") * Time.deltaTime);
}
}