Die grenzen sind eigentlich dann erreicht wenn innerhalb der
DLL etwas Delphieigenes verlangt wird was nur durch Delphi erzeugt werden kann. Also wenn deine Procedure ein Delphiobject erwartet ist dort die grenze weil eben nur Delphi ein Delphiobjekt erstellen kann und somit kann auch nur ein Delphiprogramm das in die
Dll rein reischen.
Du kannst natürlich versuchen in C# genau die gleiche Speicherstrukutur nach zu bauen, aber ich befürchte das ist mehr arbeit als es nützt (falls es überhaupt möglich ist).