Once an RMA/ routine completes, it is safe to free any opaque
objects passed as argument to that routine. For example, the
datatype argument of a MPI_PUT call can be freed
as soon as the call returns, even though the communication may not be
complete.
As in message passing, datatypes must be committed before they can
be used in RMA/ communication.
MPI-Standard for MARMOT