My phone (Sony Xperia M C2005) supports up to 32 GB SD Card and has OTG capability. I want to know up to which capacity it could support flash memory as external USB storage.
TL;DR As long as you have a large flash drive.
Theoretically, infinite, as long as there's something to drive it.
There are many factors that affect this. One major being power supply. Your phone can't probably power a hard drive (well, tablets do, though), so flash drives are best for OTG. There are some special cables that have an extra "power cord" that you can plug into another power source, rendering it able to power up a portable hard drive. A flash drive usually doesn't exceed 64GB (although Kingston made a 1TB one, but who wants to buy it?), so a common upper limit for OTG is 64GB. (128GB models do exist, but fairly rare)
Another factor is filesystem. Modern Android phones support the FAT family, but only one of them supports volumes over 32GB. If you want to use a drive larger than 32GB, you have to format it into exFAT. No NTFS support on Android and EXT family will simply fail without extra tweaks.
So in all, you can use drives of any size with OTG, as long as your phone can handle it.
It always depends on the Mobile Device, never on OTG Cable. Because my ASUS T00J mobile supported 500GB External Hard Drive through OTG, but not other phones. It needs the certain amount of energy as well to get connected. and usually all the phones get connected till 64GB flash drive...