В Юнити необходимо было преобразовать изображение с камеры в png и затем отправить по сокету. Для этого были использованы RenderTexture и вот такой кусок кода.
byte[] RenderTextureToPng(RenderTexture rt)
{
Texture2D png_tex = new Texture2D(512, 512, TextureFormat.RGB24, false);
RenderTexture.active = rt;
png_tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
png_tex.Apply();
return png_tex.EncodeToPNG();
}
Но неожиданно обнаружилось, что после запуска программы резко начинало возрастать место занимаемое Texture в вкладке Memory, загружая всю возможную память(даже система упала от этого в первый раз, когда не заметил).
Что это может быть? Когда код вызова этой функции комментирую все нормально.