Yes, it's correct unfortunately. Without free threading this becomes a major problem in VB, I run Windows 2000 Advanced Server at home as well, and have noticed that when I run 6 or 7 components (which could run inside each other) with periodic timer functions in each (they do nothing more than run simple SQL SELECT and UPDATE test transactions) that the performance of my box in general slows down, I have 400mb of RAM and ATA66 IDE with 60% free space on it, and nothing else running except SQL Server 2000 Ent Ed.

This is why MS recommend that your middle tier is a dedicated layer I guess (If you are using VB anyway)

see the following note from MSDN:

Object Pooling
Object Pooling allows you to configure a certain object as a shareable resource. Instead of creating and destroying objects every time, COM+ will keep a pool of instances and provide these as required. You can configure minimum and maximum pool sizes and the creation timeout for pooled objects. Objects need to be thread-neutral to be pooled.

NOTE: Microsoft Visual Basic 6.0 cannot produce this type of object.

ALSO:

http://msdn.microsoft.com/library/ps...oling_2e43.htm