Performance problem with Camera.Render()!

Hi all sorry for the baity title. Need your help to understand something.

Let me introduce you to my scenario:

GameObject[] targetObjs = new GameObject[3000]
RenderTexture[] renderTextures = new RenderTexture[3000]

for(int i = 0; i < 3000; i++)
{
    camera.transform.position = _getPositionForObject(targetObjs[i]);
    camera.targetTexture = renderTextures[i];
    camera.Render();
}

So basically, 3000 objects - they are in fact quads/planes and I need to render each one of them individually to a target texture so i can look at the SHADOWS it recieved!
Basically I only need lighting and shadows.
Then the RT is dispatched to a compute shader but that is all working as of right now.

The problem is the massive CPU overhead of dispatching 3000 Camera.Render() calls… is there any way to reduce CPU time? I head CommandBuffers could help, but I do not know where to start!

Thank you for reading and any help is appreciated!