Yes I checked. I set the device timezone (from Android system settings, not within the app) to GMT+05:30 (which is IST). I added a Log(DateTime.TimeZoneOffset) just above the DateTimeParse and the log says 5.5. So the timezone is right.
Now I tried these:
Log(DateTime.TimeZoneOffset)
Log(DateTime.Now)
Log(DateTime.DateTimeParse("19 May 2014","3:08PM"))
I got the following in log
5.5
1400492309101
1400438280000
I used 3:08PM because that is what the time now in IST. So basically DateTime.Now and DateTime.DateTimeParse("19 May 2014","3:08PM") should give tick values that are close to each other (ignoring the seconds). 1400492309101 is 19/5/2014 15:08:29 GMT+5.5, which is correct as it came from DateTime.Now, but 1400438280000 is 19/5/2014 00:08:00 GMT+5.5.
I don't understand why this happens.