1.when a user visits your site, the request is processed and the result returned. The user does not occupy memory whilst they are 'logged in'. If another user connects, they will use the same memory that the first user was using. If a user closes their browser, nothing happens since PHP has no connection to the client and only uses RAM when the request is being processed.
You have a very small amount of ram (just over 128MB) so you should increase the memory size.
You should also profile your requests with something like Laravel debugbar to see how much memory is being used in each request.
2.Your images will be passing through your server unless you have taken specific steps to avoid it. If you receive a file and then send it to S3 then Yes, images could be taking up memory. PHP will have garbage collection to clear up memory that is no longer required, but you can preempt this by unsetting variables that you used and no longer need.