Yes, theoretically Iran could setup enough relays to figure out who is using tor and where they are going, but in practice it is prohibitively expensive. Since the information is routed at random, and there is nothing in the encryped packet to give it's origen, Iran would need to control a large portion of the tor network inorder to have a reasonable chance of tracing the traffic.
The trouble is, as more relays are added that are outside of Iran's network, the number of possible routs information can take increases exponentially, the end result being a huge increase in the amount of resources Iran must devote to tracing packets with just a few outside nodes.