I made a app with Python 3.4 and Tkinter.
My app runs several (3-5) threads, and each thread does below.

endless loop of recvfrom() to get message from socket(UDP)
endless loop which displays the message and write it to a file

I use my app on windows embedded OS which is based on XP,
and I watch memory usage with TaskManager, 
because I want to run my app for a long (maybe more than month) without shutdown.
Then, a problem is
Mem Usage(physical) gradually increase, but sometimes drastically decrease.
 So overall it looks okay.
But Virtual Memory Size(VMSize) is increasing with long-term view.
 For example, when I started app, VMSize was 26MB.
 and next day, it become 29MB,
 and next day, it become 32MB.
 It sometimes increase a little, sometimes decrease a little(e.g. 20KB).
 but overall it's on upward trend.
 This is not so large volume but "increasing" makes me uneasy.
I expected GarbageCollection could help so I inserted gc.collect() on my code, 
so that it will be invoked every 3 hours.
But nothing changed, and print(gc.collect()) showed always 0 (except right after start-up of app itself).
Is this memory-leak?
I read definition of del() and reference cycle can lead to memory leak in Python,
but I never define del() by myself.
Thank you in advance.
I discovered the cause by myself, so I write it here and close the question.
The cause of memory leak was I was calling tkinter functions from multiple threads.
tkinter is not thread safe so I was violating its rule.
I modified my program so that only main thread use tkinter function then
memory leak has gone.
Thank you.
Windows Task Manager: Python app memory usage increase