Many hurdles to using alternative OSs, not limited to just GrapheneOS.
One of the major ones are push notifications. Most apps are developed expecting Google APIs to be available on device. If they aren't, those apps do not work properly (sometimes even crashing). That in turn severely impacts the UX of an alternative OS.
That problem alone is a big one, and not easily solvable. The startup costs to reimplement such infrastructure and then maintain those APIs as an alternative OS is tremendous. Some workarounds do exist (such as microG, or GrapheneOS's sandboxed Play Store app), but it still takes a lot of development bandwidth.
Until there is a solid alternative to Google push notifications, app developers must roll their own custom in-app solutions (See Signal, or Tutanota). Not only does that NOT scale well, but most developers won't take that task on for a small subset of users of their product/service; and who would blame them?
And when I say "solid alternative to Google push notifications", I mean a super simple UX for users; extremely low bar, as in "Hey user of my app XZY, if you would like to receive push notifications for our app, install this other app here that handles it on-device which we can hook into." Requiring users to run some backend server at home kills any adoption of an alternative because 99.5% of people cannot, or will not, do that.