A lot of devs don't realize that other than your HR manager, you can ignore others. Anytime a PM asked me something unreasonable, I simply said no and if They pretended like i need to obey them, I got my real manager involved. It always worked out in my favor.
It saddens me to see so many devs especially the H1Bs getting abused by PMs.