Everything is downloaded (to the hard drive) during the loading screen - either a custom loader or the default one.
However, the actual artwork hasn't yet been loaded into system memory - this only happens when the object appears in a layout for the first time. So what's happening is you're loading a ton of artwork and animations into memory in your third layout, which takes a few seconds to happen, depending on the speed the PC it's running on.
To avoid this sudden lag, I suggest loading some in-game artwork during your first two layouts. Just put some of the objects off to the side where they can't be seen. Maybe split it up into thirds, or whatever is necessary to avoid the lag in the actual game layout.
Or make a fake loading screen to load everything into memory - create a single layout with all your artwork and something to hide it all, and make a fake progress bar to show the user that something is happening. When that progress bar's timer has elapsed, then move onto the game screen.
So your game would look something like:
0: Download screen
1: Choose language
2: Choose character
3: Fake memory loading screen
5: End screen
Think about a game like Call of Duty: first you install/download it, then you load it up and go through some menus. But before you can get to the actual gameplay it has to load all of those assets into system memory. If it tried to load all the assets on-the-fly without at least a base of assets pre-loaded, performance would be terribly slow.