I believe this distinction is a critical one because an application with a lot of shared state is more difficult to scale than one without. As another poster pointed out, in a shared addressed space such as a desktop app, this isn't a concern. But if you want to scale an application across multiple address spaces, communicating and synchronizing the state of objects between these spaces tends to be difficult.
So, my tendency is:
Small and shared address space? Tend to use OO patterns and implementations.
Big and distributed address space? Tend to use FP patterns and implementations.
Note, I don't consider OO vs. FP a language choice – I consider it a programming paradigm choice.