The Sauber driver, who went on to finish ninth, one place behind the Mexican, was running 11th after his first pitstop when he exceeded the track limits at Turn 7 while battling with Perez and Pastor Maldonado.
He was subsequently advised to give the position to Perez on the grounds he had gained an unfair advantage.
But Hulkenberg believes he gained no such advantage, and only ran wide because he had to give Perez room on the inside of the corner.
"I haven't seen the footage yet and I have to look at it, but I don't agree," Hulkenberg told AUTOSPORT.
"I had Pastor there in front and I chose to take the outside. I knew Sergio was going to dive inside, therefore I left him space otherwise we would have collided.
"So I was squeezed a bit onto the exit kerb. Unfortunately, the car bottomed a bit right away and once you bottom on these high kerbs, it pulls you right across and there is no chance.
"It [running beyond the edge of the track] did happen but I was in front of him coming into the corner and didn't gain any advantage coming out of it."
Hulkenberg now expects to be more cautious in situations like this where he is forced to exceed track limits.
"Every race is different and this was one specific incident but obviously now I have that in mind.
"I will keep it in mind for the next races if I have a similar situation again."
The German spent the rest of the race behind Perez and believes he would have finished one place higher had he not had to cede the position.
"Eighth would have been the ideal position without giving the place to Sergio.
"We also benefited from [Mark] Webber and [Romain] Grosjean dropping out as these two would have been in front."