You need to use multithreading - something like this (the following is in C#, but it should be a simple matter to translate to VB using one of the many online free translaters).
public class MyService...
{
Thread m_thread = null;
public void OnStart()
{
m_thread = new Thread(new ThreadStart(ThreadProc));
m_thread.Start();
}
public void ThreadProc()
{
int interval = 300000;
int elapsed = 0;
int waitTime = 1000;
try
{
while (true)
{
if (interval >= elapsed)
{
elapsed = 0;
GetEmployees();
}
Thread.Sleep(waitTime);
elapsed += waitTime;
}
}
catch (ThreadAbortException)
{
}
}
}
EDIT =====================
I commented the code at your request. This is an extremely basic sit-and-spin thread loop. This is as detailed of an explanationas I'm going to provide. If tyou STILL don't understand what the code is doing, I suggest that you go to school and learn (or re-learn) how to program.