I recently (like... just now) got this idea that maybe static methods and variables are completely isolated on the heap and have no connections to the stack. Is this true?
well, methods aren't on the heap first and foremost. They're in program memory. Methods ACCESS the heap. Static or not. static variables do exist in a special part of the heap reserved for static values. But that doesn't mean they're completely isolated. If that static variable is a value type (a struct or primitive like int), when you use it, the value is copied to the stack for use.