Memory usage PHP peak=40.25 MB -- too much for a single request?
The memory limit setting (often 128MB) is per process, so you're only using around third of it. If a single request needs more than 128MB of memory, it will fail. This doesn't appear likely in your case.


  What happens if there are many concurrent users?


That depends on your total amount of RAM. You can in theory handle up RAM / 128 MB users.

If you have 15 concurrent users, each using 40MB, and you have 512 MB, then you'll go over that limit, because 40 * 15 = 600.

The normal configuration is then to use the hard-drive, often called swapping. This normally means the death of all performance, and should always be avoided, to the level where it's better to out right reject more incoming connections.