COM is both an evolution of VBX and a subset of OLE 2.0.
.NET was going to be what UWP is now, an evolution of COM, but then Java happened, and they went with something similar instead.
There are some references to how this all happened in the story of F# evolution, given that Don Syme was part of the team since the early days.
Re:Rust/WinRT Public Preview
by KeBugCheckEx on Thursday April 30, 2020 @04:43PM
(#23035872)
Actually a lot in COM was made to work on vb. COM string type is BSTR which stands for Basic STRing.
I remember VB6 was also exceptionally good at this.