C# Nightmare