Thank you for your prompt reply, but my apologies for missing it and it's been quite a while.
Anyway, to answer your question I was trying to do sendrecv in a chain where "toSend" and "receiveFrom" ranks are not the same. I was using a single buffer, which resulted in cases where the buffer content got replaced with received values before being able to send its original content. I think it was an error on my side to use a single buffer in a pipeline sendrecev. I fixed it by having two buffers.
I guess still with MPI_IN_PLACE this could happen. Please correct me here if I am wrong.