Some distributions are inherently right-skewed, and almost all samples from them have boxplot outliers. In some cases, repeated 'capping' seemscan seem to be never-ending.
In the following example, a simulated sample in R of size $n=1000$ from a standard exponential distribution (mean and rate both 1) gets capped three times, using the upper 'fence' of the boxplot outlier rule as the criterion. And there is still more capping to be done.
set.seed(1234); n = 1000
x1 = rexp(n)
cap1 = quantile(x1,.75)+1.5*IQR(x1)
x2 = x1[x1 <= cap1]
cap2 = quantile(x2,.75)+1.5*IQR(x2)
x3 = x2[x2 <= cap2]
cap3 = quantile(x3,.75)+1.5*IQR(x3)
x4 = x3[x3 <= cap3]
boxplot(x1, x2, x3, x4, col="skyblue2")
abline(h = c(cap1,cap2,cap3), col=c("red","green2","blue"))
You have to be clear about your reason for capping. If you have a good reason, maybe you have a good 'cap' to go with it. Then you could cap just once, based on a reasonable standard---not based on what data you happen to get.
In my exponential example above, about 95% of the population has values of 3 or below. Maybe just choose 3 as the cap.
Addendum: Almost all exponential samples of size only $n=100$ have at least one outlier and the average number of outliers among such samples is more than 4.8.
set.seed(2019)
nr.out = replicate(10^6,
length(boxplot.stats(rexp(100))$out))
mean(nr.out); mean(nr.out > 0)
[1] 4.850963
[1] 0.990244
round(table(nr.out)/10^6, 4)
nr.out
0 1 2 3 4 5 6 7 8 9
0.0098 0.0423 0.0954 0.1470 0.1744 0.1687 0.1388 0.0985 0.0619 0.0340
10 11 12 13 14 15 16 17 18
0.0170 0.0077 0.0030 0.0011 0.0004 0.0001 0.0000 0.0000 0.0000
The distribution of the number of outliers per sample of 100 is roughly Poisson with mean 4.85.