mit der Dummyfunktion gehts weil diese den versteckten Self-Parameter hat welcher ein Pointer ist. würdest du jedoch in der Dummyfunktion auf self zugreifen und damit was machen sollte es auch krachen.
Deswegen auch die
AV wenn du in der Klasse auf "HeapControl" zugreifst, weil in diesem Fall intern auf Self.HeapControl zugegriffen wird aber Self ist eben nicht die Klasseninstanz sondern der Pointer von BeginThread.