I have an python application in production (on CentOS 6.2 / Python 2.6.6) that takes up to:

800M VIRT / 15M RES / 2M SHR

The same app run on (Fedora 16 / Python 2.7.2) "only" takes up to:

56M VIRT / 15M RES / 2M SHR

Is it an issue ?
What's the explanation of this difference ?
I'm wondering if it could go wrong anytime with such an amount of virtual memory ?
What does the application do? What libraries does it use? What else is different between those machines? It's hard to give a general answer.
The VIRT value indicates how much memory the process has requested from the operating system in one way or another. But Linux is lazy in this respect: that memory won't actually be allocated to the process until the process tries to do something with it.
The RES value indicates how much memory is actually resident in RAM and currently in use by the process. This excludes pages that haven't yet been touched by the process or that have been swapped out to disk. Since the RES values are small and identical for both of those processes, there's probably nothing to worry about.
Python VIRT Memory Usage