Technology is an inherently iterative process. We start with simple tools and then use those tools to make better ones. The first assembly languages were pretty much 1:1 translations of the standardized instruction bytecodes for the chip; the 8086 architecture and its assembler became dominant over other architectures like Z80, RISC, etc, and so we began to develop languages that could be digested into 8086 assembly, like FORTRAN, COBOL, Pascal and C. The program that interprets the source code of these languages has to be written in something more primitive, otherwise you end up in a chicken-and-egg argument; if the source code for the first C compiler was written in C, then what compiled itthat C source code, and wouldn't that, by definition, be the first C compiler?
Basically, "C# is written in C++" should be taken to mean that the first and/or most popular compiler and runtime/core libraries that obey the specification of the C# language (those being Microsoft's .NET Framework, and the command-line compiler program CSC.exe) are written in C++.