If the recruiter was aware of your visa situation then I would argue that they've been unnecessarily harsh. If they weren't aware then I agree with their stance 100%.
If they were aware then I would suggest contacting them directly (preferably over the phone) to explain your eagerness and highlight the fact that you were completely oblivious to the legalities around starting and taking unpaid leave immediately.
To be honest, if I was in the recruiters shoes, your persistance would have concerned me and raised doubts over your motivation for accepting the job. Are you accepting because you just need a job for your visa process or are you accepting because you legitimately want to work here?