One of the reasons for not using the introduction circuit for actuall communication is that no single relay should apppear to be responsible for a given hidden service. This is why rendezvous points never learns about the hidden services identity.
This doesn't make sense to me since the location of the different introductory points is published to distributed databases. So naturally, won't said introductory points become tied to the hidden service regardless? Furthermore, if this was such a great concern, couldn't the hidden service simply change its introduction points periodically? Lastly, presumably the circuits that lead from the hidden service to the introductory point must not be static, since there's only a finite amount of relays that can fit the bill to make this possible (stable/high uptime), so if the circuits leading to the introductory point are constantly changing, doesn't that itself hide the hidden service's identity as well as the use of rendezvous point does?