This article from 2018 illustrates the architecture of Signal:
https://sorincocorada.ro/signal-messanger-architecture/
How easily can Signal replace those dependencies if this comes for them?
"Extremists move to secret online channels": https://www.nbcnews.com/politics/congress/extremists-move-se...
AWS S3 is/was used to share files with other users. It became a standardized API, with many alternatives supporting the protocol, so switching to a different provider or on-premises should not be difficult.
Signal intends to remove the dependency on phone numbers, and therefore Twilio, but this has not be done yet.
And if the OS decides to kill your app's process, your polling dies with it and you don't get notifications.