C# Can't answer on PING

The first message include what’s called a “prefix”. It’s not prohibited by the Spec, but per the IRC spec:

Clients should not use prefix when sending a message from
themselves; if they use a prefix, the only valid prefix is the
registered nickname associated with the client. If the source
identified by the prefix cannot be found from the server’s internal
database, or if the source is registered from a different link than
from which the message arrived, the server must ignore the message
silently.

So essentially if you do send a prefix, it must only ever be :your_nick_here COMMAND :message\r\n

To be safe, I would just omit the prefix entirely. Your PONG response would then just look like:

PONG :tmi.twitch.tv\r\n

In your case, the \r\n is covered by your StreamWriter.Writeline(...)