As of the 8th Generation of Pokémon, here are the top 20 heaviest:

*Cosmoem* and *Celesteela* are tied for the heaviest with a weight of **2,204.4** lbs.

*Primal Groudon* is the 2nd heaviest and weighs **2,204.0** lbs.

*Eternatus* and *Groudon* is the 3rd heaviest and weighs **2,094.4** lbs.

*Mega Metagross* is the 4th heaviest and weighs **2,078.7** lbs.

*Mudsdale* is the 5th heaviest and weighs **2,028.3** lbs.

*Guzzlord* is the 6th heaviest and weighs **1,957.7** lbs.

*Stakataka* is the 7th heaviest and weighs **1,807.8** lbs.

*Melmetal* is the 8th heaviest and weighs **1,763.7** lbs.

*Zamazenta* is the 9th heaviest and weighs **1,730.6** lbs.

*Altered Forme Giratina* is the 10th heaviest and weighs **1,653.5** lbs.

*Mega Steelix* is the 11th heaviest and weighs **1,631.4** lbs.

*Dialga* is the 12th heaviest and weighs **1,505.8** lbs.

*Copperajah* and *Orign Forme Giratina* is the 13th heaviest and weighs **1,433.0** lbs.

*Zygarde Complete Forme* is the 14th heaviest and weighs **1,344.8** lbs.

*Metagross* is the 15th heaviest and weighs **1,212.5** lbs.

*Stonjourner* is the 16th heaviest and weighs **1,146.4** lbs.

*Avalugg* is the 17th heaviest and weighs **1,113.3** lbs.

*Hoopa Unbound* is the 18th heaviest and weighs **1,080.3** lbs.

*Dusk Mane Necrozma* and *Snorlax* is the 19th heaviest and weighs **1,014.1** lbs.

*Heatran* and *Primal Kyogre* is the 20th heaviest and weighs **948.0** lbs.

For the Heavy Ball, here are the modifiers for SM:

-20 if used on Pokémon weighing at most 220.2 lbs.

No modifier if used on Pokémon weighing between 220.5 lbs and 440.7 lbs.

+20 if used on Pokémon weighing between 440.9 lbs. and 661.2 lbs.

+30 if used on Pokémon weighing at least 661.4 lbs.

(So, if you use a heavy ball on one of these Pokémon listed above, there is a great chance that it'll go in it.)

Source