Yeah it was probably isn’t the greatest idea to start with writing my own haha.
I think I’ll take a look at some open source ones if I run into much more trouble with mine!
That aside,you’re definitely correct. That line does nothing for me face palm
As for the PING response, I literally was about to post back here saying I found that!
I wrote out the function for responding to pings, but never actually used it later when in my chatUpdate() loop. 
Had I not figured it out though, you mentioning that would have made me actually look more closely at that!
All I had to add was the following in my chatUpdate()
if (g_ReadData.Contains("PING"))
{
g_IRC.pingResponse();
}
Now following off that, the code excerpt you wrote would definitely fix it the g_ReadData problem.
However, I think what was happening with g_ReadData being null is because I lost connection to Twitch because I wasn’t responding to their pings, because this would only happen 10-15 minutes when running.
I’m still going to put in that null check for added safety measure, since it still can return Null (thank you for finding that).
But I think that the g_ReadData runtime is now fixed!
Now the only other problematic one left is System.IndexOutOfRangeException runtime…
That could also have been tied to the ping response thing… Cause if I’m no longer connected how can I check who is in chat. Hopefully that’ll have disappeared as well.