Instead of "Step6" of this tutorial, I'd have personally preferred to just include a C-compiled "CreateWorkerObjectOnSTA_Helper.dll"
(or one, developed in FreeBasic, or C++, or FreePascal... meaning that those other languages would have offered an easier implementation-path, because they support FreeThreading out-of-the-box)
Why should i use another language/additional dependency if i may use the same language? You've demonstrated it yourself. Why should i use "a black box" to achieve the task i can implement without it?

In both cases:
- AxExe-based new STA-Object-creation
- and "BlackBox-dll-based creation" of such STA-WorkerObjects,
the "bothersome details of STAs" will remain hidden from the User
(which is a good thing, because they only distract from what's really needed, to develop stable, STA-based VB6-threading-solutions).
This isn't good thing. I've already wrote about that.

I've included this Step6-Project as VB6-source only, because the Forum-rules forbid the upload of Dll-binaries.
You could refer to a dll/source code (developed in FreeBasic, or C++, or FreePascal). Hundreds of examples in codebank which refer to RC5. Does it bother you? Who are "playing dumb"? Let's tell about what you done not what you wanted.

I don't understand your position. You've created the example which teaches nothing. Just threading for threading. I've written about that and asked what could an user learn. You wrote the user couldn't know many things about STA-COM-threading. You called all other threading except your - bad/unstable/hacks/etc. But when you need the real threading things you use this things/unstable hacks. You tell me i'm "playing dumb" but I think it's not me.
Of course then you've written the real good threading example which is good for learning. If it would be originally I wouldn't start this discussion.