After going through each line of code involved in this process, I found that Doctrine uses the default cache, which is only valid for loading a single page.
I think that I and many others have suggested that when we enable APC, it will also be used by Doctrine to cache metadata. In fact, Doctrine by default uses its array cache, unless otherwise specified.
This page lists Doctrine configuration options:
http://symfony.com/doc/2.3/reference/configuration/doctrine.html
After adding caching options to my /app/config/config.yml as shown below:
doctrine: dbal: driver: %database_driver% host: %database_host% port: %database_port% dbname: %database_name% user: %database_user% password: %database_password% charset: UTF8 orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: true result_cache_driver: type: memcached host: 127.0.0.1 port: 11211 instance_class: Memcached metadata_cache_driver: type: memcached host: 127.0.0.1 port: 11211 instance_class: Memcached query_cache_driver: type: memcached host: 127.0.0.1 port: 11211 instance_class: Memcached
After correction on the same page there is no interaction with the YAML parser and loads in 302 ms against 5851 ms for a general acceleration of 19X. In addition, the cachegrind file went from 121 MB to 3.4 MB, and these results are generally consistent with a number of samples.
Here is the same Webgrind showing the difference:

So basically it was a configuration issue. From what I saw in StackOverflow questions and other forums, it seems like it turns off here about how caching works. Essentially, you need to explicitly enable it for Doctrine caching, as described above, or use an almost useless default value.
Symfony2 can sometimes be too "customizable", and this is one example where it never occurred to me that it would be separately configured. In this regard, this is a powerful feature (the ability to use separate caches for things), but until you understand this, the system is completely compromised in speed.