Okay now I see whats the point of retain_graph. Thank you for the explanation.
You also said:

basically you actor gets gradients through entropy and your critic gets gradients from value loss.

This means that the actor network is being updated through actor loss, which consists of the surrogate loss (clipped or unclipped) discounted by the entropy. We thus update the weights of the actor based on backpropagatiion of the entropy gradeints in order to change the policy distribution.
As for the critic, we detached the returns. And so the gradients of the predicted values from the critic network are going to backpropagate and update the weights.
Are the above statements true?