I used to work in a restaurant in the US. It is all about tips. Waiters/Waitresses usually have assigned tables. If you sit at their table for too long, that means they could not get the tip for the next customers for that table. I have never heard of anyone would hang out for 3 extra hours after meal! I think even 1 hour is pushing the edge in the US. But then I know that in Italy, our friends would have 3 or 4 hours dinner at a restaurant. But then they don't tip 20% either, so the waiters would probably like it that you sit there and they don't have to do work and get paid.