Ditto. Java is the pits.
I’d use C# since I’m using it right now. C# or VB about the same, since both mean .NET stuff. But Desktop generally means a lot of UI. C# and VB do that easily.
If it’s a massive and complex app with performance issues I’ll use C++. I haven’t used python, so no can say.
You could also build the app to use components in all three languages (C#, VB.NET and C++ either managed or unmanaged).