Last night at YSSY, I had a situation where Tower needed to clear a backlog of departures on 34L, so he asked me to avoid that runway for a while. I had planes on 34R on a downwind leg, so it was easy to extend them, and switch the planes bound for L to R. I had a number of the folks check in continuously, and had one poor soul (he has a week to think about it now) decide to turn base on his own and wouldn’t turn downwind after multiple requests.
The reason I set this up is to show that you might not always realize what’s behind the the instructions you are given. It’s just best to follow ATC instructions and see where it takes you. If it’s obvious something is wrong, take a few screen shots of the situation, and PM the controller asking him to explain what was going on. I’ve had a few people do that with me, and it was a good experience for all of us.
Checking in constantly, requesting altitude changes, or worse not following instructions results in degraded performance because the controller is spending a lot of time where it’s not needed.