Damaged textures on ios 14 and A12 or above after Texture2d.Apply

Hello, we encountered a problem on ios devices with iOS 14.0 and Apple A12 or above.
We load several thousand textures from memory as follows:

  1. Use the function Texture2d.LoadImage (textureBytes, markNonReadable: false);
  2. Using Texture2d.GetRawTextureData we read texture data
  3. Texture2d.Apply (false, makeNoLongerReadable: true) - free the ram copy of the texture
    As a result, some textures are damaged. If we comment Texture2d.Apply (false, makeNoLongerReadable: true) call, the problem goes away.

unity 2019.3.11f1

Not an expert but calling Apply to unload a texture from memory doesn’t look right

then you are asking unity to apply all changes to the texture and NOT update the mipmaps. (the false in the argument)

having the texture looking differently than the mipmaps may be the issue

We don’t need mipmaps, we are creating Texture2D without mipmaps:
var texture = new Texture2D(width, height, TextureFormat.ARGB32, mipChain: false, true)

Resolved this with Texture2d.Apply(false, makeNoLongerReadable: true) call when we have loaded all textures.