One of the main stumbling blocks that I discovered was trying to do everything on a website. In a normal website, all pages are connected and are integral to each other. But by offering profiles, each profile is, in essence, your own website connected to a large website. Because it is more likely that each profile is linked to multiple social sites by the owner of the profile, such as Instagram, Facebook, myspace, twitter, etc., to begin with, it receives a large number of visitors and queries from databases. In addition to all visitors, it has owners of profiles that have logged in to add data and also visitors to add data. Very quickly you will see the CPU and the processes that achieve high statistics constantly. You can almost be near persistent connections during peak hours and especially on weekends.
What I have done by trial and error was to have a minimum of two sites.
One is the site with static profile pages. I also encoded the profiles to be a single page, this avoids excessive clicks and the loading of pages by visitors. I used direct html and wrote the css. This site is only for reading and viewing. They are not uploaded directly or posted on the profile site.
The other is a site for profile owners to enter their data and upload images to their profile gallery. Now, in my case, I have loaded all your data into your profile after they have posted it for me. This allows me to prevent copyrighted or illegal material from even seeing the light of day. I once tried the automatic method of allowing a client to publish and upload directly, but the abuse never ended.
As I have no experience with wordpress, I can not advise you in any way. But the only automated platform I considered was SMF Forums. This software has a membership payment plan incorporated using PayPal. With a little creativity you can work with this to sell the access to the forum / profile.