Funny conicidence ! I also began with .NET early on but just through various coincidences I just didn't end up in a situation where I got to use it later, and besides I got so into Mac and Objective-C stuff.
I had these old computer magazines called Byte Magazine with a lot of articles about the NeXT machines. That got me really fascinated by NeXT and Objective-C early on.
Interesting what you say about Swift and Apple development. I quite like it, but I am very torn on what to make of Swift. Initially I thought, this is my dream language.
But as you point out there are these rough edges like how weak references and closures interact.
While I am very much fan of functional style programming, I am more skeptical of whether that was the best fit for Swift. Objective-C which Swift supersceeds was very deep in Object-Oriented thinking and that was reflected in Cocoa. Trying to cram functional and object-oriented thinking together isn't always that easy.
Also very much understand how you miss something like async-await. Now I am not a C# developer but I am familiar with higher level concurent features elsewhere. I think how we do it in Julia is a bit similiar to C#. Actually it also has elements of the Go approach to concurrency which I also quite like.
The Objective-C/Swift approach to concurrency was a huge improvement over what we had. But I certainly feels a bit dated and clumsy compared to the other approaches we have out there.
But I believe the next Swift version update is getting a modern system for concurrency.
The Apple ecosystem has become way more powerful than it used to be, but also a lot more complex. I quite liked the old school way of doing GUI design with Cocoa, although of course it limited in flexibility compared to what we have now.