FactorialSequence.cs uses var n = 0; as an initializer, which turns n into an int; it should be a BigInteger. BigInteger includes a constant of 1, so there is no need to create a new one. The code can also be simplified and optimized.