<p>Can you explain STA and MTA in your own words?</p>

<p>Also, what are apartment threads and do they pertain only to COM? If so, why?</p>

Each EXE which hosts COM or OLE controls defines it's apartment state.  The apartment state is by default STA (and for most programs should be STA).
STA
- All OLE controls by necessity must live in a STA.  STA means that your COM-object must be always manipulated on the UI thread and cannot be passed to other threads (much like any UI element in MFC).  However, your program can still have many threads.
MTA
- You can manipulate the COM object on any thread in your program.