First i would like to introduce you to the Server ticks terminology.
What are server ticks?
This is the amount of time per second that the server is sending data to the client (players game).
Supposedly ESO servers are working on 60 or 64 ticks, how does this transfer to gameplay?
Let's say that you are alone in an area and you are doing nothing but standing still > disregarding that you are not doing ANYTHING you are still receiving 64 data rows per second containing information about your location/state/visuals.
Now let's say that another player comes by to you > here is what happens:
You will receive your 64 rows of data per second + another 64 rows of data per second because of the second player, so this is 128 rows of data per second for you AND another 128 rows of data per second for the other player which is total 256 rows of data per second sent by the server:
Here is detailed explanation: https://www.nbnco.com.au/blog/entertainment/what-is-tick-rate-and-what-does-it-do
Here is a small showcase in image:
Since Cyrodiil is the largest Zone in the game and have the largest player capacity (600) per instance if i`m not mistaken this results in huge number of player interactions and for some reason there appears to be a bottleneck which i conclude might be one of the following 2 reasons:
Reason 1: network limitation bottleneck by the server side (Every PvP server instance might have dedicated network bandwith that it exceeds in huge fights)
Reason 2: client code(game) is not optimized to receive large amount of data sent by the server side, therefore there is a queue happening( lag ) when receiving information
Possible solution (dirty fix)
Reduce the server ticks to 30/32 ticks per second - since this is not a Shooter game we (the players) won't feel significant (if any) impact to our gameplay, but this will literally be reducing the lag in half.