The 101 for 5, 011 for 3, and 110 for 6 are the binary representation of the numbers. The reason why they are included in the comments is that the code is doing a
*bitwise* operation, that is it is operating on the binary digits of the numbers.

The Exclusive Or operator (^ in c#) will set each bit in the result equal to 1 if the equivalent bit on one (but not both) of the two inputs is 1, and will set it to 0 is the equivalent bits in the two inputs are both 1 or both 0.

The example works like this:

101 XOr
011
---
110

The left hand bit is 1 in the first input and 0 in the second, so it is 1 in the result.

The middle bit is 0 in the first input and 1 in the second, so it is 1 in the result.

The right hand bit is 1 in both inputs, so it is 0 in the result.

The result is 110 which is binary for 6.

The answer to your second question is that the ", 2" in the Convert.ToString arguments is to say that the number should be displayed in base 2 (that is binary).