There are several blogs which claim to categorize SSIS Transforms into blocking (asynchronous), non-blocking(synchronous) and partially blocking(asynchronous).
When looking into the specific question: Is multicast synchronous(non-blocking) or asynchronous(partially blocking)?
One resources claims async: "The Multicast is an asynchronous (also known as partially blocking) transformation" source: http://social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx
and another syncronous: https://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/
Other resources claim the DQS Cleansing transform is a non-blocking transform, but it seems to me to be partially blocking.
Please don't answer with a link to a list of transforms categorized by type. The answer to this question will hopefully enable a more rigorous method to PROVE a correct answer.
As the partially-blocking and blocking transformations will move data to new buffers as opposed to the non-blocking which operate on the buffer in place, I suspect that the solution will be to watch buffer creation during transform execution, but I am unsure (a) if this will produce the definitive answer and (b) how to do this.
I believe that a non-blocking transform will not cause a new execution tree to begin, so it is possible that the answer lies in logging the PipelineExectionTrees and PipelineExecutionPlan. This may differentiate between synchronous and asynchronous, but may not differentiate between partially blocking and fully blocking.