22 games a year plus finals will deliver close on a million people to the new stadium (more than 800,000 went to Subiaco last year). Over the next 20 years or so, that's paying the stadium off. Not an annual rugby union test (just over 25,000 last year), or once off soccer matches, or the odd concert. Your dreaming if you think otherwise. Without the AFL this is a white elephant, especially if Cricket doesn't go.
The taxpayers of Western Australia are paying for it. The AFL are only the major source of income for it for as long as they are the major tenants, which relies on the basic assumption that the AFL will be around for as long as the stadium. Who knows if the AFL will survive for so long?