Vivaldi did not build their web browser from scratch. Rather, what they did was use Chromium as a base and build their improvements on top of that. What you’re seeing is Chromium’s multi-process architecture at work.

In Vivaldi (and Chromium, Chrome, Opera, …) each tab is its own entity with its own memory space, isolated and independent from other tabs and even from the core browser itself. It makes the browser feel more responsive. If a tab crashes, it won’t take the other tabs (or the whole browser!) down with it. Each tab is also contained in a security “sandbox” which makes it extremely difficult for a malicious web site to infect the browser or your system. The downside, unfortunately, is that the browser as a whole can use a lot of memory at times.

This Chromium design document is a bit old in places, but it still provides a good overview of how Chromium (and Vivaldi) works inside and how the various pieces all fit together.

Chrome actually uses “Helpers” for a variety of reasons. Most of those that you see are Renderers; others are things like GPU processes, PlugIns (that also run independently), utility processes, etc.

If you’re really curious and want to dig a bit deeper, look up the PID (process ID) for Vivaldi in Activity Monitor; let’s say it’s 521. Launch the Terminal application, then execute the following command: ps -f -g 521

This will display additional information about the Vivaldi process and the Vivaldi Helper processes that were spawned by Vivaldi. The “–type=“ argument indicates whether the helper is a renderer, a GPU process, or something else such as a plugin. (Counting how many of each type you have may give you some indication of whether your problems are caused by the number of tabs you have open, the number of plugins that are running, or both.)

To answer the second part of your question, “how to fix it to avoid taking memory”

Some things are out of your control. Part of what’s running in a renderer is the Blink engine, extensions, and the JavaScript code for web pages. If the web site’s JavaScript code is written poorly, it will consume more system resources. The Chromium developers are also actively working on multiple projects to make the Blink rendering engine and the V8 JavaScript engine less resource-intensive and more memory-efficient.

However, there are also some things that you can do to improve your situation:

Minimize the number of tabs that you have open and active; think of each one as its own independent application running on your system. Inactive tabs are less of a problem but they still consume system resources.

Make plug-ins click-to-play so that they don’t run unless you tell them to.

Simplify your installation as much as possible. Limit the number of extensions that you install. (e.g. Some people used to run multiple security-focused extensions like Adblock Plus, Ghostery, and Privacy Badger simultaneously; this degraded performance and consumed more memory. To fix this situation, some have eliminated redundant extensions; others have opted to use a multi-purpose extension like uBlock Origin instead.) Consider temporarily disabling extensions that are only needed from time to time. Selectively disable any extensions that you think might be slowing you down to see how it affects your browsing experience.

I’m sure that there are other things you can do as well but this is what immediately came to mind.

I hope this is of some help. If any of this doesn’t make sense and needs clarification or if you have any further questions, please feel free to ask.