[Python.Net] AcquireLock deadlock while calling Python from C#
I have been calling Python from C# without any problems even in a multi-threaded setup. I am using .Net 2.0 and Python 2.5. Main difference, at least from what I don't see in your code, is I also call BeginAllowThreads() after Initialize(). This allows me to initialize PythonEngine in a different thread once and never have to worry about it again.
I remember having similar problem when I first embedded Python and this doc helped me come up with this solution.