I found the answer.
The reason for the non-playback or AVFoundation error was that too many AVVMutableCompositionTracks were used.
I used 30 video assets, and whenever I got tracks from asset, I always used addMutableTrack(withMediaType mediaType:, preferredTrackID:) -> AVMutableCompositionTrack?.
Which means more than 30 compositionTracks are created.
We have confirmed that these generated tracks cause performance degradation and playback errors.
Assets with essentially non-overlapping globalTimeRange could solve this problem by using the same compositionTrack.
I hope it helps people who have the same phenomenon as me.