textures – Issue with Texture2D memory leak in Unity

I have a simple method that converts RenderTexture data into Texture2D

public static Texture2D RenderTextureToTexture2D(RenderTexture renderTexture, int width, int height,
    TextureFormat textureFormat = TextureFormat.RGB24, bool mipChain = false) {
    Texture2D tex = new Texture2D(width, height, textureFormat, mipChain);
    RenderTexture.active = renderTexture;
    tex.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
    RenderTexture.active = null;
    // Here I want some way to release memory occupied by tex
    return tex;

The above mentioned method is working exactly as intended. However, if I call this method multiple times, or in update it starts using so much memory

How can I avoid this problem?