I did some study and feel that
if Bob is a patient, we can only say "Bob is in hospital".
and if Bob is a visitor who visits a patient, we can only say "Bob is at hospital".
I am not sure, I just made a guess based on examples found in dictionaries.
Are they true?
This question is not about prepositions in front of "hospital" in general.
It is about a common usage of "hospital".
For example,
I don't think anyone would say "If you drive fast, you will end up at hospital" (sound very weird)
But most people would say "If you drive fast, you will end up in hospital (British) / in the hospital (American)"
How can you explain that?