I'm about to write a control that has this defect. Why exactly is this bad?

> 
> Your ActiveX control has a common
>  defect that single-threaded apartment 
>  (STA) ActiveX & COM objects must
>  avoid: STA COM objects cannot perform 
>  blocking operations on the STA thread,
>  unless the COM object also pumps 
>  Windows messages. Therefore, if your
>  control needs to perform a synchronous
>  blocking operation, it needs to
>  implement a Windows message pump while
>  waiting for the blocking operation to
>  complete.
> 
> 
> 

[Source](http://www.ureader.com/msg/151830.aspx) 

I don't want to pump messages while I block because that seems to cause my javascript toexecute in reentrant fashion. which is really bad.