protected override void OnFormClosed(FormClosedEventArgs e) { base.OnFormClosed(e); Console.WriteLine("MainV2_FormClosed"); if (joystick != null) { while (!joysendThreadExited) Thread.Sleep(10); joystick.Dispose(); //proper clean up of joystick. } }