those tectures are local variables, when the preloading method returns local variables are released by ARC. You need to keep the texture objects "alive" (ie make them ivars) for preloading to have the desired effect.
Also if these textures consume a lot of memory the unused ones may be removed from memory as more textures are being loaded. Check for any memory notifications.