Your code is resulting in an overflow for the data type you're working with.
The default behavior of VB.NET is to check arithmetic operations and in C# it is to not check arithmetic operations.
Add a checked statement around your C# code to see it fail also.
checked {
// do all your work here, any overflow will cause an exception
}
Fix your code to stop overflowing. As my comments below mention, an arithmetic overflow is not something to be ignored necessarily. You're performing operations here that result in likely unexpected results and you should code explicitly for this (by increasing the size of your type or handling the failure).
The absolute last thing you should (IMO) do is under your project properties, Compile tab, Advanced Compiler Settings button, is check the checkbox labeled "Remove integer overflow checks". I personally think it's a bad idea and personally I use checked
in C# whenever I do things that will overflow my variables. Fail early, fail often and all.