I had the same issue (on Pop!_OS), and I fixed it by tweaking the boot options to change IOMMU settings for my GPU.
I would try testing without the splash option, as that will change when/how GPU drivers are loaded and it might fix the glitches issue (but might still cause other issues).
I work professionally from Windows, and as a hobby from Linux. My tool of choice for coding in .NET is Visual Studio Code (not FOSS, but there is a FOSS version which is just a bit more limited). It's not as complete as Visual Studio, but it's much faster, it has all the basic tools including a debugger, and it's much more customizable.
Also if you have never done it before, you might love
dotnet watch
which works with any IDE and lets you make realtime changes to your code while the application is already running.As for UI, my personal choice is deploying a static website on localhost through Kestrel (it's less than 100 lines of code for a fully configured one), and then let the user's browser take care of showing the UI. You could use Blazor if you really want to use C# all the way, but my personal recommendation is to stick to web technologies such as TypeScript and React (using either Parcel or Vite to build your project). Making your UI web-friendly also makes your app cloud-ready, in case tomorrow you will decide that's something you need.
Finally, you can now deploy .NET apps as a single self-contained executable on all major platforms. But as already recommended by other users, I would keep adopting a web-first approach and go for Docker, and eventually Kubernetes. It's a lot of work to understand it properly though, so perhaps you can start studying this topic another day in the future.
Feel free to ask me anything if you have questions.