while (Peek() != '*' && PeekAhead() != '/' && !IsAtEnd()) {
Probably this guy.
If you encounter an asterisk or a slash, then it stops. You want to stop when you encounter an asterisk and a slash, so:
while (!(Peek() == '*' && PeekAhead() == '/') && !IsAtEnd()) {
I also find your detection of when to remove the comment a bit scary, but that might be because you haven't shown the Match method.