I guess it is due to large generation transactions for payout?
Correct. Because all stratum decoding is handled by small microcontroller, with just a few kilobytes of memory, it can be a problem sometimes. The theoretical requirement could be a few megabytes, so there's just no way it can be modified to handle all circumstances.
Most other pools have much smaller requirements, because they only have a simple transaction to their own wallet.
I see, then there is little hope for the S-HASH to work with P2pool.
Currently I will stick with Eligius but fallback to HHTT to see how it works.
Thanks for the help!