The server is designed with internal logical partitions. When you log in, you access only one partition. All of the applications and all of the data for a particular partition can be accessed only in that one partition, and you can not access any data from any other partition. Thus each tenant is completely isolated from each other.
All the tenants share the same memory space in the server. That is to say that if five users are logged in from different tenants they do not have any specific memory allocated to them. The server memory is shared. It is the data that is isolated.
This means that the server can support an unlimited number of tenants. Increasing the number of tenants does not significantly increase the load on the server. Each tenant has a set of users, and can define users which are distinct from all other tenants. It is possible for two different tenants to have users with the same name. this is just another example of how the different tenants are entirely isolated from each other. It is as if you have an entire server to a single tenant, except you don't have to pay the entire cost for a server if you are not using it heavily.