In reply to puranik.sunil@tcs.com:
Please have a look at this thread Argument Passed by Reference cannot be used within fork-join_any/join_none - SystemVerilog - Verification Academy
Basically this a restriction, I wonder if you actually require msg_size to be ref** variable, but I’m not sure what is your requirement.
LRM Section 9.3.2 Parallel Blocks
…Within a fork-join_any or fork-join_none block, it shall be illegal to refer to formal arguments passed by reference other than in the initialization value expressions of variables declared in a block_item_declaration of the fork.
HTH,
-R