I'm trying to model a cotton garment by simulating it's draping process. I'm having issues only when I enable self-collision of the cloth. Without self-collision , there are no issues but I do need self-collision for later stages of work and can't proceed without enabling that. I'm using 2.73, and I didn't modify any settings; that is , I use the default collision settings and for everything else too. Below are screenshots of the issue.
Rest state:
End result, without collision, close to what I want; but as seen, cloth is penetrating itself:

When I enable self-collision, this happens right from the 1st frame itself:
The end result is also similarly messed up.
These are my cloth settings:
I believe that the simulation is finding the cloth particles close together and hence repelling them from each other, given the messed up result. I set the "distance" value in the collision settings to 0.5 and 1 too, but both of them gave the same result.. Any idea why this could be happening?