I just ran all your tests on my machine without your changes. They all pass. The problem is that Assert.Equal is throwing an an unobserved thread which means that Xunit doesn't pick up the failure. You can use a tcs to check the exception. You could also just set an mre after the assert. Then the test would time out if the assert throws, but I think that a tcs is better.

Also I suggest using Assert.IsType.