From the author of

From the author of

Introduction

Most VB6 developers who have read about .NET, or who have played with it,
have a long list of reasons why you should upgrade to Visual Basic .NET or C#.
Common reasons include support for implementation inheritance, an improved
versioning schema, and object constructors.

Some developers also see the support for free threading as a major
improvement over the VB6 Single-Threaded Apartment (STA) multi-threading model.
However, other developers warn about the dangers that free threading will add.
Using free threading certainly can do some serious damage, but it also opens up
new possibilities for VB developers when building COM+ components. We can use
the object pooling service, for example, and the synchronization service in COM+
makes it quite easy to write thread-safe components. (If you leave out sharing
objects between requests by using the object-per-request mode, you're also
relieved of most of the threading issues.)