When would I use the bitwise above?
Whenever you need bitwise and, e.g., getting a bitmask.
Then reference, although I understand what it does in theory, when will I use it in practice?
When you need to make $this an alias of $that such that they both point to the same value, which admittedly is not very often except for use in function parameters where an argument is changed and the changes are to be reflected to the caller (i.e., pass by reference). There used to be an optimisation where large objects are concerned (i.e., expensive to copy) by doing:
$x = &new X();
But now new returns a reference anyway, so this is no longer useful.