Try making an easily breakpointed method to calculate it and also ensure you are not running the percentage chance calculation more than once (some sources do a loop for item drops. You don't want to check for 5 percent droprate 5 times in a row or you'll have an issue)
Currently you have a poor way of handling things for a number of reasons.
#1: You can never use lower than 1 percent droprates (1 percent is pretty high... 100 mobs can be killed very quickly)
#2: The random value is always a whole number
Decimal calculations are more costly but here's a quick example that pops to mind.
Code:
public static bool percentSuccess(double chance)
{
var decChance = chance * .01;//convert to percentage chance to compare.
var randomVal = Random.NextDouble();
return decChance > randomVal;
}
Breakpoint the return statement to see if it returns results you would expect and then just streamline it to be
return (chance * .01) > Random.NextDouble();