AFAIK, Clojure's persistent data structures resolve many of the scenarios where immutability is desired.
Scenario 1: Non-concurrency related reason. One of the non-concurrency related reason for immutability (I dont recall of others) is to get the deep "const/final" effect on Objects. Clojure, being functional, return values are always copied as far as the user is concerned. So we get this const effect for free.
Scenario 2: Concurrency related reason. Clojure's persistent data structures are AFAIK, mainly intended to solve the concurrency related reasons for desiring immutability and this issue is solved better by persistent data structures than Immutable collections.
So, I think, Google's Immutable collections would be useful only for Scenario 1, if only there is a huge performance difference in the initial population of the data structure. I don't really see how that can be more perfomant, except for the reason that it is possible to achieve Worst-case O(1) access timings on Hash tables rather than Average case O(1) when the set of all possible key values is totally known before-hand and not subject to change.
Thanks,
Ajay