Well, more specifically, the reason you shouldn't be creating CFCs in the Application.cfc file is because ColdBox/WireBox have conventions for creating CFCs.
The reason you shouldn't be directly creating CFC objects, is because WireBox should be doing all that for you (IOC stands for Inversion Of Control)
And yes, a singleton is persisted in WireBox, which is persisted ultimately in the application scope, so you don't ever have to worry about storing a CFC anywhere. Simply tell WireBox how long you want that CFC to live and then, when you need an instance of it, ask WireBox to give it to you. WireBox will take care of the rest. IOC!
Note, WireBox is not just limited to CFC's, it can create instance of Java classes for you as well if you like.